我建立一個既應用程序和服務器(不幸的是不同的域)跨域jQuery的阿賈克斯JSONP
在應用我有:
$.ajax({
url: BASE_URL + "api/create",
type: "get",
async: false, // why do I need this
dataType: "jsonp",
data: {
"auth_token": "cBQHASwKszsW4e75unK6"
},
error: function(error) {
alert(JSON.stringify(error));
},
success: function(data) {
alert(data);
}
});
我知道,服務器返回(當我去給它在瀏覽器中):
jQuery1910041686943266540766_1365730282085({"error":"User does not exist","status":400})
(這是正確的數據)
然而, Ajax請求失敗,被列爲狀態爲「失敗」,然後鍵入「待定」
我不知道這是怎麼回事這裏
我也曾嘗試:
$.getJSON(BASE_URL + "api/create?auth_token=cBQHASwKszsW4e75unK6&callback=?", function(data) {
alert(JSON.stringify(data));
});
這也失敗了
你有'jQuery1910041686 ...'沒有指定回調函數var? 「Firebug」的'Net'選項卡中有哪些地址? – Narek
據我所知,'async'對於jsonp不能是false。不是說它與您的問題有關,但跨域jsonp請求會添加腳本標記並且是異步的。 –
localhost:3000/api/create?callback = jQuery19101939692951273173_1365751304024&auth_token = cBQHASwKszsW4e75unK - 回答第一個問題,回調參數顯然是由jquery – Shazam