Ajax-XMLHttpRequest
- 手动编写一个ajax,不依赖第三方库
- 跨域的几种实现方式
知识点
XMLHttpRequest
var xhr = new XMLHttpRequest();
xhr.open("GET","/api",false)
xhr.onreadystatechange = function () {
//这里的函数异步执行,可参考之前JS基础的异步模块
if(xhr.readyState == 4){
if (xhr.status == 200) {
alert(xhr.responseText)
}
}
}
xhr.send(null);
- IE低版本使用ActiveXObject,和W3C标准不一样
- IE低版本使用量已经非常少,很多网站早已不支持IE低版本
- 建议对IE低版本的兼容性:了解即可,无需深究
状态码
xhr.onreadystatechange = function () {
//这里的函数异步执行,可参考之前JS基础的异步模块
if(xhr.readyState == 4){
if (xhr.status == 200) {
alert(xhr.responseText)
}
}
}
- readyState
- 0-(未初始化)还没有调用send()方法
- 1-(载入)已调用send()方法,正在发送请求
- 2-(载入完成)send()方法执行完成,已经接收到全部响应内容
- 3-(交互)正在解析响应内容
- 4-(完成)响应内容解析完成,可以在客户端调用
- status
- 2XX-表示成功处理请求。如200
- 3XX-需要重定向,浏览器直接跳转
- 4XX-客户端请求错误,如404
- 5XX-服务端错误