AJax第四天
请求报文&响应报文
http状态码www.runoob.com/http/http-s…
请求报文 - 格式
请求报文规定了客户端以什么格式把数据发送给服务器
注意事项:
在浏览器中,GET 请求比较特殊,它只有请求头,没有请求体。 在浏览器中,POST、PUT、PATCH、DELETE 请求既有请求头,又有请求体。
请求行
请求方式 get | post
请求地址 /api/getbooks
协议类型 http 1.1
请求头
键值对 格式
建议换 火狐 、
content-type 指定当前请求体数据格式
登录功能-----
空行
请求体
发送给后端的参数 放在 这里
响应报文 - 格式
响应报文规定了服务器以什么格式把数据响应给客户端
状态行
状态码
状态描述
协议版本
响应头
后端让前端登录失效时机 cookie
空行
响应体
后端返回的数据
http 响应状态码
响应状态码是由 http 协议规定的,具有通用性。
响应状态码:2xx 正常
响应状态码:3xx 重定向
响应状态码:4xx 客户端错误
响应状态码:5xx 服务器错误
业务状态码
业务状态码是后端程序员自定义的,不具有通用性。
1 http状态码 是行业通用 业务状态码 只是你的公司通用
2 http状态 在 响应报文-状态行看见 业务状态码 响应体看见
3 http状态码表示结果 你的情请求有没有正确的给到服务端 业务状态码 你当前的请求的业务是否正常响应
XMLHttpRequest
原生ajax代码
基本结构
1 const xhr = new XMLHttpRequest();
2 xhr.open(请求类型,请求的url)
3 xhr.send()
4 xhr.addEventListener("load",function(){ this.response // 响应结果 });
get请求的参数
只能写在 xhr.open("get",url+参数)
post请求
1 字符串类型的参数
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("a=1&b=2")
2json字符串类型参数
xhr.setRequestHeader("Content-type","application/json")
xhr.send(JSON.stringify({a:1,b:2}))
3 formdata
xhr.send(formdata)
4 封装ajax
函数形参解构-默认值
function func({data=""}){ }
判断变量是字符串类型还是对象类型
typeof data
判断实例不是属于构造函数
data instanceof FormData
防抖-节流
1 防抖
输入框 搜索框
清除延时器和开启延时器
2 节流
倒计时 按钮 移动分页
定义一个变量来控制是否允许代码的执行