jquery ajax 自定义错误处理程序

2024-01-14

我正在 JSON 服务器之上编写一个主干 js Web 应用程序,该服务器返回 J 中的 JSON 响应发送规格格式 http://labs.omniti.com/labs/jsend.

以下是该格式的一些示例:

获取/帖子

{
 "status": "success",
 "data": {
   "posts" [
     {"id": 1, "title": "A blog post"}, 
     {"id": 2, "title": "another blog post"}
   ]
 }
}

发布/帖子

{
  "status": "fail",
  "data": {
    "title": "required"
  }
}

默认情况下,$.ajax 中的“error”事件由http 代码触发,但由于JSend 规范格式根本不使用HTTP 代码,因此我必须重写$.ajax 错误处理程序。

默认情况下的工作方式(http 代码):

$.ajax({
  error: function() {
    // Do your job here.
  },
  success: function() {
    // Do your job here.
  }
});

如何重写 $.ajax 错误处理程序,在解析正文时以及“状态”属性为“失败”或“错误”时触发它?


尽管看起来违反直觉,但您必须将其放入success功能。只需自己检查该值:

$.ajax({
  error: function() {
    // Handle http codes here
  },
  success: function(data) {

    if(data.status == "fail"){
      // Handle failure here
    } else {
      // success, do your thing
    }

  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery ajax 自定义错误处理程序 的相关文章

随机推荐