gpt4 book ai didi

javascript - 标准 AJAX 调用应该如何包含完整、成功和错误部分

转载 作者:行者123 更新时间:2023-12-03 06:10:46 25 4
gpt4 key购买 nike

我使用以下 AJAX 调用来在 MVC 中进行 CRUD 操作。但是,由于 AJAX 调用的 completesuccesserror 函数有很多不同的用法,我想澄清一下,想要的是最常见的或它们的适当用法。在某些示例中,这些函数没有参数,但在其他示例中,有多个参数(即 jqXHRtextStatuserrorThrown)。当然,我对每种情况都使用必要的操作,即显示通知或确认消息等,但我只需要它们各自的默认或标准用法。您能否简要解释一下并发布用于 CRUD 操作的 AJAX 标准用法的最合适方法?

$.ajax({
type: "POST",
url: '@Url.Action("Insert", "Account")',
cache: false,
dataType: "json",
data: formdata,
complete: function () {
//???
},
success: function (data, textStatus, XMLHttpRequest) {
// ???
},
error: function (response) {
// ???
},

//other example usages of error function :::
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
},
error: function (xhr) {
console.log('Error: ' + xhr.statusText);
}
});

最佳答案

您会看到不同的示例,因为:

  • 某些参数是可选或混合类型
  • 其中一些仅取决于作者决定如何命名回调函数中的参数。
  • 这些回调及其参数的某些使用取决于作者当时使用的 jQuery 版本。

我建议您始终根据您正在使用的版本的文档来使用 .ajax。因此,如果您正在寻找一种在应用程序中使用 .ajax 的标准方法,那么最好的选择是遵循文档语法:

http://api.jquery.com/jquery.ajax/

该文档很好地描述了 jQuery 的哪些版本发生了哪些变化,因此通过关注这些变化,您可以避免应用程序中出现问题。

来自 jQuery 文档:

完成

类型:函数( jqXHR jqXHR, String textStatus )

请求完成时(执行成功和错误回调后)调用的函数。该函数传递两个参数:jqXHR(在 jQuery 1.4.x 中,XMLHTTPRequest)对象和一个对请求状态进行分类的字符串(“成功”、“未修改”、“无内容”、“错误”、“超时”、“中止”或“解析器错误”)。从 jQuery 1.5 开始,完整的设置可以接受函数数组。每个函数都会被依次调用。这是一个 Ajax 事件。

成功

类型:函数(任何数据、字符串 textStatus、jqXHR jqXHR )

请求成功时调用的函数。该函数传递三个参数: 从服务器返回的数据,根据 dataType 参数或 dataFilter 回调函数(如果指定)进行格式化;描述状态的字符串;和 jqXHR(在 jQuery 1.4.x 中,XMLHttpRequest)对象。从 jQuery 1.5 开始,成功设置可以接受函数数组。每个函数都会被依次调用。这是一个 Ajax 事件。

错误

类型:函数( jqXHR jqXHR, String textStatus, String errorThrown )

请求失败时调用的函数。该函数接收三个参数:jqXHR(在 jQuery 1.4.x 中为 XMLHttpRequest)对象、描述发生的错误类型的字符串以及可选的异常对象(如果发生)。第二个参数的可能值(除了 null 之外)有“timeout”、“error”、“abort”和“parsererror”。当发生 HTTP 错误时,errorThrown 会接收 HTTP 状态的文本部分,例如“未找到”或“内部服务器错误”。从 jQuery 1.5 开始,错误设置可以接受函数数组。每个函数都会被依次调用。注意:跨域脚本和跨域 JSONP 请求不会调用此处理程序。这是一个 Ajax 事件。

关于javascript - 标准 AJAX 调用应该如何包含完整、成功和错误部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com