ajax请求回调函数的问题。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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("亲,服务出错了!");
}

});

展开
收起
a123456678 2016-07-29 11:52:56 2178 0
1 条回答
写回答
取消 提交回答
  • 这里的error是说服务端返回了非正常状态码(200)的情况下执行的回调。 估计数据出错时,服务端没有指定状态码,你的代码依然会走success回掉,但是bosun.FormRespIntercepter('json', _json)调用返回false,看起来像什么也没发生。
    你可以用js调试工具下断点来验证。firebug或者chrome F12都支持。

    另外,建议通过_json数据的某个字段,比如code来判断是否出错。比如code==0,表示正常,code非0表示出错。

    2019-07-17 20:01:48
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载