我有以下的Ajax代碼部分:如何診斷不會拋出任何錯誤消息的AJAX錯誤?
$(document).ready(function(){
$("form input#dodaj").click(function(){
var s = $("form input#zad").val();
var str = "<li>"+s+"</li>";
$.ajax({
type: "GET",
url: "http://lesni.org/kss/dodaj_zadanie.php",
data: {
pid: ($(this).attr('alt')),
zad: encodeURI(s)},
error: function(err){ alert(err); }
}
).done(function(){
$("ul#zadania").append(str);
$("form input#zad").val(" ");
});
});
});
注:頁面加載上面的代碼是從一個URL像http://lesni.org/some/page
,因此同源策略是不是一個問題。
但它似乎沒有工作,我不知道爲什麼。
它所調用的PHP文件是正確的。當我在瀏覽器中手動輸入時:
http://lesni.org/kss/dodaj_zadanie.php?pid=1&zad=abc
它工作正常(向數據庫添加記錄)。但是ajax代碼不起作用。它不會拋出任何錯誤,或者我不知道它是否會拋出任何錯誤...
所以問題是:如何診斷AJAX代碼的這一部分以瞭解錯誤。我也試過POST
版本,沒有任何效果。
使用FireBug或DeveloperTools並檢查網絡流量 – Philipp 2013-02-25 22:56:26
一個起點是使用'error'回調給你的信息。'error:function(err){alert(err); }''不會給你任何有用的信息,因爲['error'回調](http://api.jquery.com/jQuery.ajax/)的第一個參數是jQuery XHR對象。第二和第三個參數更有用。 – 2013-02-25 22:57:02
Btw ..你必須在uri中傳遞GET參數而不是數據字段 – Philipp 2013-02-25 22:57:34