我有以下的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