我正在使用Prototype JS框架來執行Ajax調用。這裏是我的代碼:Ajax調用被瀏覽器取消
new Ajax.Request('/myurl.php', {method: 'post', postBody: 'id='+id+'&v='+foo, onSuccess: success, onFailure: failed});
function success(ret) {
console.log("success",ret.readyState, ret.status);
}
function failed(ret) {
console.log("failed",ret.readyState, ret.status);
}
大多數時候,這個工作正常,併成功函數調用的200約5%的Safari瀏覽器上的時間的狀態代碼成功函數被調用的狀態碼爲0.在這種情況下,當我查看網絡檢查器的「網絡」選項卡時,ajax呼叫的狀態爲「已取消」。我可以確認服務器日誌,請求永遠不會打到服務器。就好像ajax請求立即取消,甚至沒有嘗試連接到服務器。我還沒有找到任何可靠的方法來重現這一點,它似乎是隨機的。我做了20次,發生一次。
有誰知道會導致ajax調用取消或返回狀態碼0?
您使用的是哪個版本的prototypejs? – jonycheung