【问题标题】:What are the returned parameters in the jQuery ajax success option?jQuery ajax 成功选项中返回的参数是什么?
【发布时间】:2011-01-10 12:00:29
【问题描述】:

jQuery documentation 表示返回如下:

成功(数据,文本状态, XMLHttpRequest)函数

请求时调用的函数 成功。函数通过 三个参数:返回的数据 从服务器,根据格式化 到“dataType”参数;一个字符串 描述状态;和 XMLHttpRequest 对象。这是一个阿贾克斯 事件。

我只使用了“数据”参数。 “textStatus”的目的是什么?...当我将此 var 放入警报(在成功函数中)时,我得到“未定义” 我可以从 XMLHttpRequest 中得到什么?以及如何访问它?

谢谢

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您可以使用XMLHttpRequest 对象来获取服务器发送的任何response headers。这对于您控制的服务的用处有限,因为通常最好在响应正文的 JSON 或 XML 中传回所有信息,但它对于与您无法控制的接口的服务进行通信可能很有用,这很有用标题中的信息。

    textStatus 可用于错误回调,以告诉您请求到达了多远。但是为了成功,它只会告诉你服务器是否返回了200 OK 响应(在这种情况下你应该得到'success')或者你是否得到了304 Not Modified 并且正文从浏览器缓存返回(在这种情况下它应该是'notmodified'。这不太可能有用。

    【讨论】:

      【解决方案2】:

      根据this,textStatus 的可能值为:

      "timeout"
      "error"
      "notmodified"
      "success"
      "parsererror"
      

      我相信,如果您在 success 回调中,您将只会看到 "success" textStatus。不知道为什么你会看到undefined

      XMLHttpRequest 包含您通常不需要的较低级别的信息,例如用于发出 Ajax 请求的响应状态和参数。通常您只关心data 参数,它派生自XMLHttpRequest 对象本身。您可以在this 页面找到 XMLHttpRequest 的其余方法和属性。

      【讨论】:

        【解决方案3】:

        testStatus 指的是 AJAX 就绪状态,您可以阅读有关 here 的信息。我不太清楚为什么它会被认为是未定义的。我不是 100% 习惯于使用 jQuery 进行 AJAX,但是在手工制作的 ajax 调用期间,您的返回函数将被多次调用,并带有不同的状态代码。

        XMLHttpRequest 将返回进行异步调用的实际对象。

        【讨论】:

          猜你喜欢
          • 2022-01-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-31
          • 2011-11-18
          • 2014-07-07
          • 2012-02-20
          相关资源
          最近更新 更多