我正在對外部服務器進行$ .ajax調用。此服務器返回重定向,重定向頁面返回一些json。這在FF和Chrome上運行良好,但Safari和Opera不喜歡它。Safari jquery ajax重定向
這裏是我的$阿賈克斯代碼:
$.ajax(
{
url:url,
dataType:"json",
success:function(data)
{
console.log("success");
},
complete:function()
{
console.log("complete");
}
});
在Firefox和Chrome,這工作正常 - '成功' 被稱爲我的每個Ajax響應。然而在狩獵和歌劇中,「成功」從來不叫,只有「完整」。網絡請求控制檯向我提供以下信息:
resolve.json GET 302 application/json
1817995.json GET (canceled) undefined
其中1717995.json是從resolve.json發送的重定向。我不知道爲什麼這個請求被取消了(就好像被響應所指示)。
任何人都可以提供一些幫助嗎?
你所說的「外部服務器」的意思是這樣的跨域請求? – Gavriel
是的,它是跨域的。我從soundcloud.com獲取JSON數據。如果我直接ping第二個URL(1817995.json),它可以工作,但是當它是重定向時,它不起作用。 – Jaypan
我也剛剛遇到了這個問題:使用重定向的跨域後期。我也發現它適用於Chrome和IE,但不適用於Safari。但是,當我知道服務器在重定向和結束頁面上正確設置「access-control-allow-origin:*」標題時,無論如何,JSONP解決它謝謝。 – Daniel