当前位置: 首页 > 面试题库 >

如何捕获Ajax查询发布错误?

尉迟跃
2023-03-14
问题内容

如果Ajax请求失败,我想捕获该错误并显示相应的消息。

我的代码如下所示,但是我无法捕获失败的Ajax请求。

function getAjaxData(id)
{
     $.post("status.ajax.php", {deviceId : id}, function(data){

        var tab1;

        if (data.length>0) {
            tab1 = data;
        }
        else {
            tab1 = "Error in Ajax";
        }

        return tab1;
    });
}

我发现,当Ajax请求失败时,“ Error in Ajax”将永远不会执行

如何处理Ajax错误并在失败时显示适当的消息?


问题答案:

从jQuery 1.5开始,您可以使用延迟对象机制:

$.post('some.php', {name: 'John'})
    .done(function(msg){  })
    .fail(function(xhr, status, error) {
        // error handling
    });

另一种方法是使用.ajax

$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
        alert( "Data Saved: " + msg );
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
     alert("some error");
  }
});


 类似资料:
  • 问题内容: 我喜欢捕获任何ajax 异常,但不喜欢更改我的所有ajax查询。有没有办法为任何$ .ajax调用更改它(覆盖任何处理程序)? 问题答案: 您可以使用全局ajax事件处理程序.ajaxError()

  • 问题内容: 我在Python中构建了一个简短的url转换器引擎,并且看到大量的“管道破损”错误,并且很好奇在使用BaseHTTPServer类时如何最好地捕获它。这不是全部代码,但可以让您大致了解我目前正在做什么: 该代码本身运行良好,但是在生产中几乎立即开始引发错误: 这些错误的大部分似乎源于在调用send_header()方法时遇到的问题,其中我要写的是: 所以我很好奇在我的代码中尝试捕获此I

  • 问题内容: 是什么区别 GET 和 POST 的 Ajax的 请求? 我看不到这两者之间的任何区别,除了当我使用 GET时 ,参数是在URL中发送的,这对我来说并没有任何区别,因为所有请求都是在后台进行的,并且用户找不到任何请求区别。 编辑:什么是 PUT 和 DELETE 方法? 问题答案: GET设计用于从服务器获取数据。POST(以及鲜为人知的朋友PUT和DELETE)设计用于修改服务器上的

  • 问题内容: 我想从变量“单击”中检索数据,以便可以在Flask的SQL查询中使用它。 jQuery查询 烧瓶/ Python 问题答案: 您可以这样在ajax请求中编写有效负载: 在烧瓶端点中,可以按以下方式提取值:

  • 我正在使用flask auth,它提供了一些辅助装饰程序。我已经添加了下面所有的各种方法,但是我想问的问题是如何捕获装饰程序抛出的任何问题。这是一个关于装饰师的一般性问题,但我认为一个真实的例子可能会有所帮助。 如果装修工爆炸了,我怎么能抓住它?

  • 问题内容: 我正在使用PHP函数将数据从本地计算机发布到Web服务器。我的代码如下: 不幸的是,我无法捕获任何错误,例如404、500或网络故障。那么,我如何得知数据没有发布到远程或从远程检索呢? 问题答案: 您可以使用该功能检测是否有错误。例如: