Ajax
概述:Asynchronous JavaScript And XML,用于异步请求数据,可以实现局部的加载,ajax主要依赖的是一个请求对象 核心对象 xmlHttpRequest
.bmp)
Ajax创建步骤
1.创建Ajax请求对象
var xhr = new XMLHttpRequest()
//XMLHttpRequest存在兼容问题
var xhr = XMLHttpRequest ? new XMLHttpRequest() :new ActiveXObject("Microsoft.XMLHTTP")
2.配置请求信息
xhr.open(请求方式,请求地址,是否异步)
3.把请求发送出去
xhr.send()
4.监听对应的请求状态的变化
5.在监听中读取对应的响应数据 并进行处理
Ajax的XMLHttpRequest对象属性
| 属性 | 描述 |
|---|---|
| onreadystatechange | 定义当readyState属性发生变化时调用的函数 |
| readyState | 保存XMLHttpRequest的状态:0未发送请求 1请求已发送 2请求已收到 3正在处理请求 4请求已完成且响应已就绪 |
| responseText | 以字符串返回响应数据 |
| responseXML | 以XML数据返回响应数据 |
| status | 返回请求的状态号:200成功 403没有访问权限 404客户端错误找不到 500服务器错误 |
| statusText | 返回状态文本(比如‘OK’,‘Not Found’) |
get请求和post请求在xhr请求的区别
get请求是使用?拼接url传参的
xhr.open('get',url+'?key=value&key1=value1')
post通过send发送请求体的方式
xhr.send('key=value&key1=value1')
get请求不需要指定对应的请求头 post请求必须要指定请求头
xhr.setRequestHeader('content-type','x-www-form-urlencoded')
GET 与 POST 的区别
| GET | POST |
|---|---|
| 偏向获取的语义化(获取数据) | 偏向提交的语义化(登录,注册) |
| 参数是查询字符串 | 参数格式多样,但需要特殊说明 |
| 大小有限制2KB左右 | 理论上无限制 |
| 参数位置在地址后面(http://www.baidu.com?key=value&key1=value1) | 参数位置在请求体内(xhr.send(key=value&key1=value1)) |

浙公网安备 33010602011771号