首页 文章

jQuery ajax成功选项中返回的参数是什么?

提问于
浏览
2

jQuery documentation表示返回以下内容:

success(data,textStatus,XMLHttpRequest)功能请求成功时要调用的函数 . 该函数传递三个参数:从服务器返回的数据,根据'dataType'参数格式化;描述状态的字符串;和XMLHttpRequest对象 . 这是一个Ajax事件 .

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

谢谢

3 回答

  • 1

    您可以使用 XMLHttpRequest 对象获取服务器发送的任何response headers . 对于您控制的服务,这是有限的,因为它可以控制,将有用的信息放在 Headers 中 .

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

  • 2

    根据this,textStatus的可能值为:

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

    我相信如果你在 success 回调中,你将只看到 "success" textStatus . 不确定为什么你会看到 undefined .

    XMLHttpRequest包含您通常赢得的较低级别信息't need, like the response state and parameters used to make the Ajax request. Usually all you'参数,该参数是从XMLHttpRequest对象本身派生的 . 您可以在this页面找到XMLHttpRequest的其余方法和属性 .

  • 2

    testStatus引用了AJAX readyStates,您可以阅读here . 我不太清楚为什么它会像未定义的那样发生 . 我不是100%习惯使用jQuery的AJAX,但是在手工制作的ajax调用期间,你的返回函数将被调用多次,具有不同的状态代码 .

    XMLHttpRequest为您提供了进行异步调用的实际对象 .

相关问题