$ .ajax实用程序中的JQuery错误选项

该文档指出error:option函数将提供:XHR实例,状态消息字符串(在本例中总是为错误)以及从XHR实例返回的可选异常对象(Book:JQuery in Action)

使用以下(在$ .ajax调用中)我可以确定我有一个“parsererror”和一个“超时”(因为我添加了timeout:选项)错误

error: function(request, error){}

您在错误选项中评估的其他内容是什么? 你是否包含可选的异常对象?

编辑:其中一个答案表示所有的返回错误...了解更多关于XHR实例和异常对象中什么是有价值的(用于调试)会有帮助

这是一个完整的$ .ajax调用:

$.ajax({
 type: "post",
 url: "http://myServer/cgi-bin/broker" ,
 dataType: "text",
 data: {
 '_service' : 'myService',
 '_program' : 'myProgram',
 'start' : start,
 'end' : end
 },
 beforeSend: function() {
  $("#loading").removeClass("hide");
 },
 timeout: 5000,
 error: function(request,error) {
  $("#loading").addClass("hide");
  if (error == "timeout") {
   $("#error").append("The request timed out, please resubmit");
  }
  else {
   $("#error").append("ERROR: " + error);
  }
  },
  success: function(request) {
   $("#loading").addClass("hide");
   var t = eval( "(" + request + ")" ) ;
  } // End success
}); // End ajax method

感谢您的意见


查看jQuery源代码,有四个返回的状态, 成功之外

  • 超时 - 超过您指定的超时时间
  • 错误 - http错误,如404
  • 未修改 - 当请求的资源自上次请求后未修改时
  • parsererror - 当一个xml / json响应不好时

  • 我发现请求比错误更有用。

    error:function(xhr,err){
        alert("readyState: "+xhr.readyState+"nstatus: "+xhr.status);
        alert("responseText: "+xhr.responseText);
    }

    xhr是XmlHttpRequest。
    readyState值为1:加载,2:加载,3:交互,4:完成。
    状态是HTTP状态号码,即404:未找到,500:服务器错误,200:正常。
    responseText是来自服务器的响应 - 可以是来自Web服务的文本或JSON,也可以是来自Web服务器的HTML。


    这是一个问题,但我认为你提交的代码存在一个错误。 该行:

     if (error = "timeout") {
    

    应该有更多的等号:

     if (error == "timeout") {
    
    链接地址: http://www.djcxy.com/p/96459.html

    上一篇: JQuery error option in $.ajax utility

    下一篇: unable to clone repository