ajax请求成功后会调用success回调函数,但是不知道为什么当后台请求出错后,这个ajax请求不会执行error回调函数,求大神指导!
代码如下:
$.ajax({ type: "POST",
contentType: "application/jsonp; charset=utf-8",
url: 'http://127.0.0.1:8080/MiddleTier/T_ENT_PERSON/insert?strJson=' + _jsonStr + '&jsoncallback=?',
dataType: "jsonp", //dataType:'json',
async: false, // 同步
success: function(_json) {
if (bosun.FormRespIntercepter('json', _json)) {
closeAddWin();
reloadData();
$.messager.alert('提示信息', _json.resultMsg, 'info');
}
},
error: function() {
alert("亲,服务出错了!");
}
});
这里的error是说服务端返回了非正常状态码(200)的情况下执行的回调。 估计数据出错时,服务端没有指定状态码,你的代码依然会走success回掉,但是bosun.FormRespIntercepter('json', _json)调用返回false,看起来像什么也没发生。
你可以用js调试工具下断点来验证。firebug或者chrome F12都支持。
另外,建议通过_json数据的某个字段,比如code来判断是否出错。比如code==0,表示正常,code非0表示出错。