使用jquery.ajax()
会触发“成功”和“错误”等事件。
似乎只有在调用ajax()
的JavaScript函数中发生某些错误时才会触发“错误”,而不是基于从HTTP调用返回的某些错误。
如果在我的服务器端处理中发生了一些错误,我想对成功执行一个操作,而另一个操作。
/是否有一种公认的传递成功或失败的做法,以便客户端JS可以显示错误或成功消息?
@jason - 所以你的代码看起来像这样......
$.ajax({
type: "POST",
dataType: "html",
cache: false,
url: "ajax_post_action.php",
success: function(data){
if( response.success ) {
...do something...
} else {
...tell user thre was a problem...
}
},
error: function(data){
...tell user thre was a problem...
}
});
答案 0 :(得分:0)
你有几个选择。
您可以让服务器的响应包含成功或失败信息。然后让你的ajax success
函数检查响应的值并适当地处理它。
我们使用这种方法。我们的响应是一个JSON对象,至少包含:
{ success: <bool>, errorMessage: <string> }
然后我们的ajax success
函数只需检查if(response.success) { ... }
您可以让您的服务将HTTP状态写入包含特定消息的错误代码。然后你的ajax error
函数可以处理它。