我遇到以下代码问题。
var sendJson = (JSON.stringify(comanda));
$.ajax({
url: 'sendMail.php',
type : "post",
data: sendJson,
success: function(data){
alert("Comanda dumneavoastra a fost trimisa");
}
});
似乎没有发送数据....任何想法为什么?
好的......我知道什么都没发送,因为我用firebug监视请求。 我没有错误,在控制台没有任何错误。检查它是否被激活,它是。
答案 0 :(得分:5)
以下是我对评论的意思:
var sendJson = (JSON.stringify(comanda));
$.ajax({
url: '/resource_url_goes_here',
type : 'POST',
data: sendJson,
success: function(data){
/* implementation goes here */
},
error: function(jqXHR, textStatus, errorThrown) {
/* implementation goes here */
}
});
请注意,ajax请求现在有一个error
回调。所有请求都应该有一个错误回调,以便您可以轻松识别错误发生的时间(正如您所见,firebug没有捕获所有内容)。
有时我觉得有用的另一件事是StatusCodes
:
$.ajax({
url: '/resource_url_goes_here',
type : 'POST',
data: sendJson,
statusCode: {
404: function() {
/*implementation for HTTP Status 404 (Not Found) goes here*/
},
401: function() {
/*implementation for HTTP Status 401 (Unauthorized) goes here*/
}
},
success: function(data){
/* implementation goes here */
},
error: function(jqXHR, textStatus, errorThrown) {
/* implementation goes here */
}
});
当服务器返回特定的状态代码(此代码段中的404和401)时,这将执行一个函数,您可以拥有所需状态代码的特定处理程序。 您可以找到有关此here的更多信息。