如何成为具有完整,成功和错误部分的标准AJAX调用

时间:2016-09-05 11:39:29

标签: javascript asp.net ajax asp.net-mvc asp.net-ajax

我使用以下AJAX调用来CRUD进行MVC次操作。但是,由于AJAX调用的完整成功错误功能有很多不同用法,我想澄清想要的是最常见的或适当使用它们。在一些示例中,没有用于这些函数的参数,但是在其他示例中,存在若干参数(即jqXHRtextStatuserrorThrown)。当然,我对每种情况都使用必要的操作,即显示通知或确认消息等,但我只需要对它们进行默认或标准使用。您能否请一个简短的解释并发布AJAX CRUD操作的$.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); } }); 标准用法的最合适方式?

if (numClasses == 2) {
  val margin = dot(weightMatrix, dataMatrix) + intercept
  val score = 1.0 / (1.0 + math.exp(-margin))
  threshold match {
    case Some(t) => if (score > t) 1.0 else 0.0
    case None => score
  }

1 个答案:

答案 0 :(得分:1)

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

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

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

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

该文档非常擅长描述哪些版本的jQuery发生了哪些变化,因此通过关注它可以避免应用程序中出现问题。

来自jQuery文档:

<强>完整

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

请求完成时要调用的函数(执行成功和错误回调之后)。该函数传递两个参数:jqXHR(在jQuery 1.4.x,XMLHTTPRequest)对象和一个字符串,用于对请求的状态进行分类(“成功”,“未修改”,“nocontent”,“错误”,“超时”,“中止“,或”parsererror“)。从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状态的文本部分,例如“Not Found”或“Internal Server Error”。从jQuery 1.5开始,错误设置可以接受一系列函数。每个函数将依次调用。注意:不会为跨域脚本和跨域JSONP请求调用此处理程序。这是一个Ajax事件。