2010-06-18 266 views
5

你好我的網站上有一個AJAX調用有個奇怪的問題。我在我的網站上對腳本進行簡單的AJAX調用。但AJAX調用失敗,readyState = 4,status = 0。沒有跨域問題,因爲我想調用的腳本在我的服務器上。XHR readyState = 4,但Google Chrome瀏覽器中的Status = 0

$.ajax({ 
        type:"GET", 
        url: 'http://mydomain.com/test.php', 
        success : function(response){ 
         console.log(response); 
        }, 
        error : function(XHR){ 
         console.log(arguments); 
        } 
}); 

我已經搜索了很多網站,但似乎沒有解決方案!

+0

是您的網站在www。或裸體域名? – Kinlan 2010-06-18 19:13:54

+0

=>如果你面臨這個問題,只需要做一件事情首先清除你的瀏覽器會話cookie 然後在你的url中添加**「Math.rendom()」**例如, 「sample.php?r = 「+ Math.random(); ** =>它的URL寫入是否正確?如果你把它寫成一個絕對的URL **(比如http://www.etc)**,它將不起作用。這是相對的路徑嗎? – SKULL 2013-08-09 10:43:59

+0

你找到答案了嗎?我遇到了同樣的問題,而我的問題不是域問題。 – 2014-07-09 15:39:18

回答

3

這發生在AJAX請求的URL與運行腳本的頁面具有不同的域時。例如,www.mydomain.commydomain.com是不同的。

爲了解決這個問題,更換

url: 'http://mydomain.com/test.php', 

url: 'http://' + document.domain + '/test.php', 

我發現這個問題,一邊尋找自己的答案。我從here得到了解決方案。

+0

當協議不同時,也就是file://和http:// localhost ... – 2011-12-12 08:55:14

+1

我在一個非常簡單的頁面上獲得了相同的錯誤,這個錯誤頁面在生產中佔用了99%的時間。但偶爾我會得到這個錯誤。代碼具有完全相同的域和協議,因爲JavaScript很短而且URL是硬編碼的,所以很容易判斷。 – 2014-07-09 15:33:08

相關問題