2012-01-17 28 views
0

我幾乎不管我想要在jQuery的ajax方法中使用dataType'jsonp'加載的'錯誤',但只使用'json'對於相同的json內容。我需要使用jsonp,因爲我正在調用外部API來處理。在jquery中使用jsonp似乎總是失敗

的js方法:

$.ajax({ 
      url: 'test3.json', 
      type: 'GET', 
      dataType: 'json', 
      data: { 
       action: 'APICALL', 
       ID: '59' 
      }, 
      success: function(data, textStatus, xhr) { 
      console.log('success'); 
      }, 
      error: function(data, textStatus, xhr) { 
      console.log('error: '+textStatus); 
      console.log(data); 
      }, 
      complete: function(data, textStatus, xhr) { 
      console.log('complete'); 
      } 

     }); 

}) 

test3.json文件:

{"symbol": "IBM", "price": "91.42"} 
+0

你可以在瀏覽器中訪問這個'test3.json'嗎?如果是這樣,請嘗試完全限定的url。 – jondavidjohn 2012-01-17 17:01:23

+0

JSONP並不神奇。 – SLaks 2012-01-17 17:01:57

+0

你還需要dataType:'jsonp'以及回調 – atmd 2012-01-17 17:17:03

回答

5

這不是JSONP。

您需要編寫一個JSONP endpoint,以表彰callback參數。

+0

我想我誤解了jsonp的工作原理。我真正想做的就是獲得預製的json響應並跨域使用它。 – Jameson 2012-01-17 17:11:39

+1

正確。 JSONP不是魔術;你需要正確實施它。請參閱維基百科。 – SLaks 2012-01-17 17:13:42