ajax请求回调函数的问题。

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("亲,服务出错了!");
}
});
qq_花开花谢_0
浏览 300回答 2
2回答

青春有我

这里的error是说服务端返回了非正常状态码(200)的情况下执行的回调。估计数据出错时,服务端没有指定状态码,你的代码依然会走success回掉,但是bosun.FormRespIntercepter('json',_json)调用返回false,看起来像什么也没发生。你可以用js调试工具下断点来验证。firebug或者chromeF12都支持。另外,建议通过_json数据的某个字段,比如code来判断是否出错。比如code==0,表示正常,code非0表示出错。

皈依舞

因为jquery中获取jsonp和json的形式不一样的,jsonp是创建script标签来获得,出错后不会执行error方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript