Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用$.post检测返回的错误_Jquery_Http Post - Fatal编程技术网

Jquery 使用$.post检测返回的错误

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,

我正在使用$.post向JSP发送一个查询,JSP会为我返回一些很棒的数据

但是,如果查询的格式不正确,则页面返回“error on page”和HTTP状态为500 Internal Server error

在jQuery中,如何检测此错误以便告诉用户故障

 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"
});
更多信息,请参见此处:

喜欢它返回“很棒的数据”