Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery$.ajax()函数';s错误消息源_Jquery_Ajax_Error Handling - Fatal编程技术网

jQuery$.ajax()函数';s错误消息源

jQuery$.ajax()函数';s错误消息源,jquery,ajax,error-handling,Jquery,Ajax,Error Handling,在出现故障的情况下,代码如下所示: error: function(msg) msg来自哪里 编辑: 我使用这个函数($ajax)来调用WEB服务。所以,如果投票否决的人能向我解释味精的来源,那就太好了!我是否在web服务中设置它?如果是,怎么做?请不要复制和粘贴定义。此消息是您在ajax调用中查询的实际服务器端函数的返回 通过这种方式,您可以获得错误或任何其他关于服务器端代码是否执行了它应该执行的操作的信息 如果返回字符串“success” msg.val()将等于“成功” 希望对您有所帮助

在出现故障的情况下,代码如下所示:

error: function(msg)
msg
来自哪里

编辑:


我使用这个函数($ajax)来调用WEB服务。所以,如果投票否决的人能向我解释味精的来源,那就太好了!我是否在web服务中设置它?如果是,怎么做?请不要复制和粘贴定义。

此消息是您在ajax调用中查询的实际服务器端函数的返回

通过这种方式,您可以获得错误或任何其他关于服务器端代码是否执行了它应该执行的操作的信息

如果返回字符串“success”

msg.val()
将等于“成功”


希望对您有所帮助ajax返回变量(在本例中为“msg”)是从ajax调用返回的输出-如果发生ajax错误,这可能是服务器错误。

来自jquery文档:

error(XMLHttpRequest、textStatus、errorshown)函数

请求失败时要调用的函数。向函数传递三个参数:
-XMLHttpRequest对象,
-描述发生的错误类型的字符串,以及
-可选的异常对象(如果发生)。
第二个参数(除null外)的可能值为“timeout”、“error”、“notmodified”和“parsererror”。这是一个Ajax事件

当您仅指示一个参数时,它将是
xmlHttpRequestObject
。你可以从中得到一些好的信息。遗憾的是,大多数文档都没有正确设置这一点。一个好的默认模板是:

error:function (xhRequest, errorText, thrownError)
您可以从XH请求中获得一些好信息:

  • .status
    :404:“未找到”,500:“服务器错误”。这有时是一个很大的帮助
  • .responseText
    是来自服务器的信息,在出现错误时通常没有用处,但有时可能会有所帮助
第二个值是字符串,有时很有用。啊,我想文档中提到了可能的值


第三个参数,每当我签出它时,总是未定义。我不认为它有用。

事实上,正确的方法是:

error: function(req, status, error) {
}
从jQuery API:

待执行的函数 如果请求失败则调用。这个 函数传递了三个参数: XMLHttpRequest对象,一个字符串 描述发生的错误类型 发生错误,并且出现可选异常 对象,如果发生。可能的 第二个参数的值 (除null外)为“超时”、“错误”, “notmodified”和“parsererror”。这 这是一个Ajax事件


我认为error回调函数中的第三个参数errorbound

 error(XMLHttpRequest, textStatus, errorThrown)
正是要从服务器发送文本错误消息

因此,如果在服务器上设置:

 Response.Status = 403;
 Response.StatusDescription = "Password is not correct";
在客户机上,您可以获得:

 textStatus => "error",
 errorThrown => "Password is not correct"
Asp.net MVC的服务器部件将是:

 return new HttpStatusCodeResult(403, "Password is not correct");

为什么会被否决?参数msg是用于发出请求的XMLHttpRequest对象jquery。不管它是msg还是xhr,这都是第一个(或唯一的)参数。在这个例子中,他们应该使用xhr或者msg之外的其他东西,这很让人困惑。我建议你换一下。是的,我不知道为什么投了反对票。这是个好问题。我会在这里投反对票。