我正在將一個變量傳遞給一個URL,該URL隨後會調用通過所傳遞變量過濾的API。但是,我似乎無法加載JSON,並在JS中的Firebug控制檯中返回無效錯誤。思考?使用jQuery檢索JSON API時出現無效錯誤
$("a").click(function() {
var apiurl = "http://api.example.com" + $(this).text() + "&limit=500" + "?callback=?";
$.ajax({
url: apiurl,
success: function(json) {alert(json.data.results);},
error: function() { alert("error"); },
dataType: "json",
contentType: "application/json;charset=utf-8",
});
});
這是錯誤: 無效標籤 誤差源極線: [打破此錯誤]
{ 「代碼」:200, 「狀態」: 「OK」, 「數據」:{」偏移量「:0,」limit「:500,」total「:17,」target「:」ch ...
我明白了,謝謝你的見解。在這種情況下,如果我刪除回調=?字符串中的URL,警報不會觸發(沒有任何反應)。我在本地工作並從另一臺服務器請求API。我認爲JSONP是解決這個問題的方法,但是我可能會錯過一些東西,因爲我對JSON – Yasir 2012-07-18 17:05:15
的問題還很陌生,如何檢查JSONP支持? – Yasir 2012-07-18 17:06:39
是的,如果您嘗試執行跨域AJAX調用,則可以使用JSONP(如果遠程服務支持它)。如果沒有,則不能從腳本中調用它。爲了檢查遠程服務是否支持JSONP,有兩種方法:1.閱讀你嘗試使用的API的文檔。 2.您試圖在瀏覽器中輸入一個示例請求:'http://api.example.com?limit = 500&callback = abc'並觀察返回的JSON是否會被封裝在'abc'函數中。如果不存在兩種可能性:1.遠程服務器不支持JSONP或... – 2012-07-18 17:07:19