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

调用jquery ajax-.fail vs.:error

解鸿运
2023-03-14
问题内容

我应该使用哪一个?

是否有任何理由使用一种而不是另一种?

错误处理更好吗?

$.ajax({
    url: url,
    data: { start: start, end: end }
}).done(function(data, textStatus, jqXHR) {
    $('#myElement').append(data);
}).fail(function() {
    // report error    
});

要么

$.ajax({
    url: url,
    data: { start: start, end: end },
    success: function(data, textStatus, jqXHR) {
        $('#myElement').append(data);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        // report error
    }
});

问题答案:

这两个选项是等效的。

但是,promise风格的接口(.fail().done())使您可以将创建请求的代码与处理响应的代码分开。

您可以编写一个发送AJAX请求并返回jqXHR对象的函数,然后在其他地方调用该函数并添加一个处理程序。

当与该.pipe()功能结合使用时,promise风格的接口还可以在进行多个AJAX调用时帮助减少嵌套:

$.ajax(...)
    .pipe(function() { 
        return $.ajax(...);
    })
    .pipe(function() { 
        return $.ajax(...);
    })
    .pipe(function() { 
        return $.ajax(...);
    });


 类似资料:
  • 我正在尝试使用Struts 2和jQuery构建Web应用程序。 在改变下拉列表时,我需要从数据库中获取详细信息。在我的< code>struts.xml配置中,我将方法和操作定义如下: 当我在所有相应位置进行更改后执行应用程序时,请求被传递给 类和 DAO 方法,并且控件成功返回到屏幕。但是返回的数据在屏幕上不可用,我收到一条错误消息: url…404未在jQuery中找到(匿名函数)ajax。

  • 我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ

  • 如何在jQuery AJAX中更改成功块中freemarker变量的值,我的页面有两个控制器第一个控制器使用GET方法返回一个带有视图名称的简单字符串,第二个控制器使用json和POST方法处理数据 给你 我的第二个控制器 我的Json方法 我的传呼myform.html 到目前为止,我的freemarker变量得到了我放在success块中的值,但在我按下submit按钮之前它显示为succes

  • 我使用jQueryAjax发布数据并相应地显示成功消息。代码如下: Javascript HTML PHP服务器端 现在一切正常,但是我无法将成功消息从服务器端发送到客户端。我如何才能在客户端页面中显示成功消息。在客户端javascript当我打印数据在警报框我看到一个空框。如何将数据变量从服务器端传递到客户端。

  • 问题内容: 我正在开发一个需要与Video4Linux抽象交互的应用程序。该应用程序使用mono框架以C#开发。 我面临的问题是我无法P /调用系统调用。或者,更准确地说,我可以P /调用它,但是它崩溃严重。 extern声明如下: 到目前为止,一切都很好。 使用的实际例程如下: 以上所有代码似乎都不错。该类用于按照标头规范计算I / O请求代码(基本上,它遵循处声明的宏)。 该参数是一个结构,声

  • 我们正在尝试开发一个自调用的lambda来成批处理S3文件。lambda角色具有附加调用所需的策略。 以下是自调用lambda的代码: 其中是对同一个lambda的调用调用。其余的事情都按预期工作,只要调用堆栈出现在这个调用请求上,它就会超时: 这是记录到CloudWatch的堆栈跟踪:

  • 主要内容:1.概述,2. 消费者调用服务,3. 提供者提供服务1.概述 在 dubbo:// 协议的调用,一共分成三种: sync 同步调用 async 异步调用 oneway 单向调用 前两种比较好理解,都是基于 Request Response 模型,差异点在异步调用,服务消费者不阻塞等待结果,而是通过回调的方式,处理服务提供者返回的结果。 最后一种,基于 Message 模型,发起调用,而不关注等待和关注执行结果。 因此,从性能上:oneway > a

  • 通过io的requestAbs方法调用/调用/使用REST API的vertx实现。vertx。果心http。vertx-core-3.2.0中的HttpClient类。jar导致HTTP错误::302,响应数据为HTML Erro响应。 不确定requestAbs方法的行为,因为没有引发异常,也没有写入任何日志。此外,还随附了使用vertx JAR的此方法的源代码。如果方法实现有bug,是否有问