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

检查jQuery中AJAX请求是否成功的最佳方法

何玺
2023-03-14
问题内容

我一直在通过执行以下操作来确保我的AJAX请求成功:

$.post("page.php", {data: stuff}, function(data, status) {
    if(status == "success") {
        //Code here
    }
    else {
        //Error handling stuff
    }
});

检查状态变量是执行此操作的最佳方法,还是有一种更好的方法来确保请求实际通过?我正在考虑“成功”请求是一个成功命中我要发布到的页面的请求,而不会超时(例如,服务器已关闭,并且在出现故障之前立即进行了AJAX请求)或返回任何404或500错误。


问题答案:

通过这样调用$.post,您将仅自动传递一个success handler函数。

如果请求中出现问题,则甚至不会执行此方法。

要拥有更多控制权,请$.ajax()直接使用或传递失败处理程序。看起来像

$.post("page.php", {data: stuff}, function(data, status) {
   // we're fine here
}).fail(function(err, status) {
   // something went wrong, check err and status
});

使用相同的东西.ajax()

$.ajax({
   type: 'POST',
   url: 'page.php',
   data: stuff,
   success: function( data ) {
   },
   error: function(xhr, status, error) {
      // check status && error
   },
   dataType: 'text'
});

您甚至可以将更多的ajax事件处理程序传递给$.ajax,如beforeSend修改/读取XHR标头,或complete使处理程序在请求完成时触发两种方式(错误或不错误)。



 类似资料:
  • 本文向大家介绍php检查是否是ajax请求的方法,包括了php检查是否是ajax请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php检查是否是ajax请求的方法。分享给大家供大家参考。具体如下: 通过这段代码可以判断用户的请求是否来自AJAX XMLHttpRequest,以区别普通post,get和ajax 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 有没有一种方法可以检查Python中的请求是否为AJAX? 相当于PHP的? 问题答案: 如果AJAX框架在其请求中设置了X-Requested-With标头,则您将能够使用该标头来检测AJAX调用。这取决于客户端框架。 掌握HTTP标头取决于您选择的Python框架。在Django中,对象具有可以直接使用的方法。

  • 问题内容: 似乎只有在ajax请求能够从服务器获得某些响应时,才会触发成功,错误和完整的回调。 因此,如果我关闭服务器,则不会执行以下错误回调,并且请求将以静默方式失败。 当根本无法访问服务器时,抛出错误的最佳方法是什么。 编辑-从我尝试过的内容来看,似乎jQuery的内置错误处理不适用于JSONP或dataType:“ script”。因此,我将尝试设置手动超时。 编辑-做了一些进一步的研究,看

  • 问题内容: 我一直在使用它来加载另一个页面,仅使用他们的示例: 但是我想在加载成功时运行一个函数,如果加载失败,则运行另一个函数,不幸的是,回调函数上的描述是: 当ajax请求完成(不一定成功)时调用的函数。 如何确保加载成功? 谢谢。 问题答案: 您可以尝试使用更详细的$ .ajax()方法调用。这将为您提供对AJAX调用的更细粒度的控制(但是,与简单的.load()相比,它还需要做更多的工作。

  • 问题内容: 我有一个游标,带有来自选择的值,我想根据我是否发现任何行来做点什么。 这似乎不起作用,有帮助吗? 问题答案: 您需要在使用%FOUND属性之前对游标执行FETCH。将您的代码更改为类似 请注意,您可能需要将变量添加到FETCH语句的INTO子句中,在TABLE1和TABLE2中的每一列都需要添加一个变量。还要注意,编写此游标的方式可能会获得比预期更多的返回行。因为没有指定连接条件,所以

  • 本文向大家介绍Jquery Ajax xmlhttp请求成功问题,包括了Jquery Ajax xmlhttp请求成功问题的使用技巧和注意事项,需要的朋友参考一下 今天遇到了一个极其奇怪的问题,用各种工具检查都能看到服务器端返回了200,数据也是正常的,但是$.ajax 始终进不到success,郁闷啊,在网上找, 常见问题场景: 1.跨域; 2. $.ajax 没设置 dataType,及服务器