ajax:HTTP协议请求
使用ajax:
创建XMLHttpRequest对象
- 所有现代浏览器均支持,XMLHttpRequest对象IE5,IE6除外
- XMLHttpRequest,用于和后台服务器交换数据
- 这意味着是可以在不重新加载整个页面的情况下,对页面的某个部分进行数据的更新
let xhr = new XMLHttpRequest()
发送请求:
- 这一步是属于XMLHttpRequest对象的核心方法
- open() 和send() 方法
- open(method, url, async)
参数一:method 请求类型 GET, POST, PUT, DELETE..
参数二:url 文件在服务器上的位置
参数三:async true(异步) false(同步) ES7的语法中,有对应的async用法
xhr.open('GET', url, true)- send(string):
参数:string string: 仅用于POST请求‘
服务器响应
- 这个属于XMLHttpRequest 对象用于接收数据的核心属性
- responseText 获取字符串形式的响应数据
- responseXML 获取XML形式的响应数据
let xhr = new XMLHttpRequest ()
xhr.open('GET', url, true)
if (xhr.status === 200) {
...
}响应状态
status
- 200 正常
- 301 对象已永久移走,即永久重定向
- 401 拒绝被访问 就是未授权
- 404 找不到页面
- 500 内部服务器错误(一般这种情况,就是服务器在发布打包,并且关闭)
readyState
- 存在XMLHttpRequest的状态,是从0~4发生变化
- 0 代表(初始化状态,未打开),此时xhr对象被成功构造,open() 方法还未被调用
- 1 代表(已调用,未发送),open() 已经成功调用,sden() 方法还未调用
GET和POST的区别
- GET相比POST更简单也更快
- GET请求会将参数跟在URL后面进行传输,而POST请求则是作为HTTP消息的实体内容进行传输
- GET方式请求的数据会被浏览器缓存下来,因此他人可以从浏览器的历史记录中能够读取到这些信息,所以POST更加安全
- GET方式提交的数据会受限制,注意:HTTP协议并没有规定限制,而是浏览器规定的限制