发生的事情是,
我已经在开发一个大型应用程序,即团队处理服务器端错误的方式,他们使用error=true
发送了一个Json响应(它仍然有200个成功)(我很难改变它发送不同的状态代码),并且在ajax成功时,如果error=true
执行正常逻辑,则使用带有错误消息的对话框调用相同的函数进行警报,
我想要的是在任何成功发生之前使用单个ajax事件挂钩并首先检查该值是否为 error = true 然后不调用其成功处理程序并显示对话框< / p>
答案 0 :(得分:3)
如果success
,您可以更改error
和error=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;
//...
}
})