Ajax,当响应有一些价值时,我想将其视为ajax错误

时间:2013-02-14 15:05:41

标签: jquery ajax

发生的事情是, 我已经在开发一个大型应用程序,即团队处理服务器端错误的方式,他们使用error=true 发送了一个Json响应(它仍然有200个成功)(我很难改变它发送不同的状态代码),并且在ajax成功时,如果error=true执行正常逻辑,则使用带有错误消息的对话框调用相同的函数进行警报,

我想要的是在任何成功发生之前使用单个ajax事件挂钩并首先检查该值是否为 error = true 然后不调用其成功处理程序并显示对话框< / p>

2 个答案:

答案 0 :(得分:3)

如果success,您可以更改errorerror=true处理程序的结构以运行相同的代码。

例如你可以这样做:

$.ajax(
   success: function(data){
      if (data.error){
         RunErrorCode();
         return;
      }
      //success code...
   },
   error: function(){
      RunErrorCode();
});

function RunErrorCode(){
   alert("An error has occurred");
}

答案 1 :(得分:1)

验证响应的函数:

var hasErrors = function(response) {
  if(response.error) {
    //...
    return true;
  }
};

然后在每个success回调中,拨打hasErrors

$.ajax({
  //...
  success: function(response) {
    if(hasErrors(response)) return;
    //...
  }
})
相关问题