Jquery 使用$.post检测返回的错误
我正在使用$.post向JSP发送一个查询,JSP会为我返回一些很棒的数据 但是,如果查询的格式不正确,则页面返回“error on page”和HTTP状态为500 Internal Server error 在jQuery中,如何检测此错误以便告诉用户故障Jquery 使用$.post检测返回的错误,jquery,http-post,Jquery,Http Post,我正在使用$.post向JSP发送一个查询,JSP会为我返回一些很棒的数据 但是,如果查询的格式不正确,则页面返回“error on page”和HTTP状态为500 Internal Server error 在jQuery中,如何检测此错误以便告诉用户故障 runQuery : function () { $.post( admin_stats.runQueryURL, { buster : Math.random,
runQuery : function () {
$.post(
admin_stats.runQueryURL,
{
buster : Math.random,
statsQuery: admin_stats.getQuery(),
jsp: 'admin_statsQuery'
},
admin_stats.handleStatsQuery,
"html"
);
返回的数据是一个HTML表,目前足以用于此项目
另外:如果这是丑陋的或不是我应该做的事情,我完全可以接受批评=)看看。从文件中:
注册要在以下情况下调用的处理程序:
Ajax请求完成时出错。
这是一个Ajax事件
文件化示例:
$('.log').ajaxError(function(e, xhr, settings, exception) {
if (settings.url == 'ajax/missing.html') {
$(this).text('Triggered ajaxError handler.');
}
});
如果要给出特定于返回的错误类型的消息,可以这样做:
$('.log').ajaxError(function(e, xhr, settings, exception) {
if(xhr.status == 500) {
$(this).text('internal server error');
} else if (xhr.status == 404) {
$(this).text('page not found');
}
// etc.
});
您需要改用
$.ajax
方法:
$.ajax({
type: 'POST',
url: admin_stats.runQueryURL,
data: {
buster : Math.random,
statsQuery: admin_stats.getQuery(),
jsp: 'admin_statsQuery'
},
success: admin_stats.handleStatsQuery,
error: admin_stats.error, //change this to your handler
dataType: "html"
});
更多信息,请参见此处:喜欢它返回“很棒的数据”