更新时间:2023年10月17日11时01分 来源:传智教育 浏览次数:
XMLHttpRequest(简称 xhr)是浏览器提供的 Javascript 对象,通过它,可以请求服务器上的数据资源。之前所学的 jQuery 中的 Ajax 函数,就是基于 xhr 对象封装出来的。
使用xhr发起GET请求需要先创建 xhr 对象,调用 xhr.open() 函数和 xhr.send() 函数,监听 xhr.onreadystatechange 事件。
// 1. 创建 XHR 对象 var xhr = new XMLHttpRequest() // 2. 调用 open 函数,指定 请求方式 与 URL地址 xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks') // 3. 调用 send 函数,发起 Ajax 请求 xhr.send() // 4. 监听 onreadystatechange 事件 xhr.onreadystatechange = function() { // 4.1 监听 xhr 对象的请求状态 readyState ;与服务器响应的状态 status if (xhr.readyState === 4 && xhr.status === 200) { // 4.2 打印服务器响应回来的数据 console.log(xhr.responseText) } }
XMLHttpRequest 对象的 readyState 属性,用来表示当前 Ajax 请求所处的状态。每个 Ajax 请求必然处于以下状态中的一个:
使用 xhr 对象发起带参数的 GET 请求时,只需在调用 xhr.open 期间,为 URL 地址指定参数即可:
// ...省略不必要的代码 xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks?id=1') // ...省略不必要的代码
这种在 URL 地址后面拼接的参数,叫做查询字符串。