开发者社区> 问答> 正文

XMLHttpRequest常用属性是什么?

XMLHttpRequest常用属性是什么?

展开
收起
真的很搞笑 2021-10-29 23:33:01 309 0
1 条回答
写回答
取消 提交回答
  • 一, readyState

    XMLHttpRequest.readyState返回一个整数,表示实例对象的当前状态。该属性只读。它可能返回以下值。

    0,表示 XMLHttpRequest 实例已经生成,但是实例的open()方法还没有被调用。

    1,表示open()方法已经调用,但是实例的send()方法还没有调用,仍然可以使用实例的setRequestHeader()方法,设定 HTTP 请求的头信息。

    2,表示实例的send()方法已经调用,并且服务器返回的头信息和状态码已经收到。

    3,表示正在接收服务器传来的数据体(body 部分)。

    4,表示服务器返回的数据已经完全接收,或者本次接收已经失败。

    二, onreadystatechange

    XMLHttpRequest.onreadystatechange属性指向一个监听函数。

    通信过程中,每当实例对象发生状态变化,它的readyState属性的值就会改变。这个值每一次变化,都会触发readyStateChange事件。

    readystatechange事件发生时(实例的readyState属性变化),就会执行这个属性。

    另外,如果使用实例的abort()方法,终止 XMLHttpRequest

    请求,也会造成readyState属性变化,导致调用XMLHttpRequest.onreadystatechange属性。

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function(){undefined

    // 通信成功时,状态值为4

    if (xhr.readyState === 4){undefined

    if (xhr.status === 200){undefined

    console.log(xhr.responseText);

    } else {undefined

    console.error(xhr.statusText);

    }

    }};

    xhr.open('GET', '/endpoint', true);

    xhr.send(null);

    三, responseText

    XMLHttpRequest.responseText属性返回从服务器接收到的字符串,该属性为只读。只有 HTTP 请求完成接收以后,该属性才会包含完整的数据

    四, status

    XMLHttpRequest.status属性返回一个整数,表示服务器回应的 HTTP

    状态码。一般来说,如果通信成功的话,这个状态码是200;如果服务器没有返回状态码,那么这个属性默认是200。请求发出之前,该属性为0。该属性只读。

    200, OK,访问正常

    404, Not Found,未发现指定网址

    500, Internal Server Error,服务器发生错误

    基本上,只有2xx和304的状态码,表示服务器返回是正常状态。

    2021-10-29 23:33:29
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载