我有一個簡單的Ajax調用:
$.ajax({url: my_url_here,
dataType: 'text',
success: function(data, textStatus) {
if(textStatus == "success") {
alert('success');
}
else {
alert('fail');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//do stuff
}
});
如果我跑這一個簡單的HTML文件,我得到預期的警報。 但是,如果我在我的一個ASP.NET MVC視圖中運行這個,ajax運行正常,但回調函數永遠不會到達。 我已經嘗試創建一個空白的查看頁面,除了jQuery和這個腳本之外什麼都沒有,排除與我其他Javascript的任何衝突。
我可以在Firebug中看到請求,並且它按照預期返回200響應,但它只是沒有達到回調。
我曾嘗試加入cache: false
paramater,與asynch
paramater發揮各地,似乎沒有這樣的伎倆......
任何線索?
編輯: 更新我的jQuery的錯誤回調建議。達到在View頁面,(而不是在簡單的HTML測試頁但是)
錯誤回調,我也得到了以下內容:
XMLHttpRequest.status爲「0」
textStatus是「錯誤」
errorThrown是「不確定」
EDIT 2 我要指出,我請求實際上並不返回任何網址,我只是想瑟如果它存在 - 如果我在瀏覽器中查看URL,它會顯示一個簡單的文本字符串。我是否使用了錯誤的方法?
爲什麼它會在一個簡單的HTML文檔中正常工作,但不在ASP.NET MVC視圖中? ASP是否對ajax請求做了些什麼?
編輯3
因此,原來我試圖訪問外部站點,這是不允許的。
似乎很奇怪,我在做從簡單的測試HTML文件,罰款,我只用時查看頁面...
更新OP-這是一個很好的建議!錯誤回調現在在視圖頁面中調用,但不是在html測試頁面 – elwyn 2010-02-11 21:54:00
嘗試更新的答案.. – 2010-02-11 22:12:02
這並沒有解決它。是否可能是這樣的: http://stackoverflow.com/questions/872206/http-status-code-0-what-does-this-mean-in-ms-xmlhttp – elwyn 2010-02-11 22:18:55