$.ajax({
type: "POST",
url: "/zzz/bbb/abcd.aspx?deleteIDs=" + request_ids,
contentType: "application/x-www-form-urlencoded",
data: '',
dataType: "html",
complete: function(xhr, status) {
if (status == "success")
{
}
else {
}
}
无论后台操作的结果如何,上面的jquery代码都具有status =“success”。我做错了什么?
答案 0 :(得分:1)
如果该代码正是您正在使用的代码,则url字段中存在错误:您使用双引号打开该行,并以单引号结束。
答案 1 :(得分:1)
“成功”仅指服务器的响应。如果服务器响应是200响应,则无论服务器端的业务逻辑是否遇到问题,都将被视为成功。
您可以从服务器返回400或500错误代码,或者最好将响应发送回包含任何错误消息的JS。
例如,我通常期望来自服务器的JSON响应。如果服务器端出现错误,它包含一个错误:true标志,我在JS中处理它。因此,典型的无错误响应是:
{error:false, html:"My HTML in here"}
服务器上的错误将返回:
{error:true, errorMsg: "My error message here"}
编辑举例:
如上所述期待JSON响应,我可以这样做:
$.ajax({
url: 'test.json',
dataType: 'json',
success: function(data) {
if (data.error) { alert(data.errorMsg); }
else {
//do something with data.html
}
}
});