目录
一、post请求
1、post请求基础
作用: post请求: 向服务器增加数据
应用场景: 注册,登录,上传文件...
post请求语法:
axios({
//设置路径
url: '地址',
//设置提交方式
method: 'post'
}).then(function(res) {
//获取服务端返回的数据
})post请求代码演示:
axios({
url: 'url地址',
method: 'post',
data: {
aa: 123
}
}).then(function(res) {
console.log(res);
})post请求时候,浏览器做了哪些操作?
1. 服务端返回一个 body
2. 在post请求中,body叫请求体
3. body请求体的功能和get请求中的查询参数功能是一样的
4. body是post请求中向服务器发送数据的一种方式
2、用post请求向服务器发送数据
axios({
url: 'url地址',
method: 'post',
//设置请求体数据,向服务端发送数据
data: {
a: 123,
b: 456
},
//post中可以添加params数据,但是一般不会用
// params: {
// aa: 123,
// bb: 789
// }
}).then(function(res) {
console.log(res);
})注意:
1. 在post请求中,如果设置了请求体数据,则数据不会像get请求将数据拼接到url地址的后面
2. post提交数据的时候安全性要好于get提交数据
3. post提交适用于数据量比较大
4. get提交适用于数据量比较小
5. post请求中虽然可以设置params,但是不推荐使用
二、get请求和post请求
相同点:
1. 都可以向服务器发送数据
2. 都是一种由客户端向服务端发送请求的一种方式
不同点:
1. post安全性要好于get请求
2. get请求会将数据拼接到url地址的后面,post请求不会将数据拼接到url地址后面
3. get请求提交数据通过: 查询参数实现的
4. post请求提交数据通过: 请求体实现的
5. get请求提交的数据量小于post提交的数据
三、报文
1、Ajax请求中的报文
概念:规定了客户端以哪种数据格式发送给服务端
组成:
1) 请求行: 描述了当前请求方式是什么,请求的资源路径, 协议类型是什么
2) 请求头:
当前请求的主机是谁
connection: 表示当前请求完成后是否要关闭网络
Accept: 当前发送的数据格式
Accept-Encoding: 当前发送的请求是否要被压缩
3) 请求体:
注意: 请求体在get请求中是不存在的
2、响应报文:
概念:规定了服务器以什么格式的数据发送给客户端
组成:
状态行: 协议版本, 状态码, 对状态码的描述 (成功的, 正常的)
状态码: 是一个3位数字, 描述当前请求和响应的状态 (类似于打电话时候的提示音)
状态码分类:
a) 以数字2开头的状态码 ---> 200
b) 以数字3开头的状态码 3xx ---> 网页重定向 csdn
c) 以数字4开头的状态码 4xx ---> 404, 是由于客户端的错误,导致服务器无法返回正确的结果
d) 以数字5开头的状态码 5xx ---> 由于服务器程序发生了错误,导致无法返回给客户端
四、业务状态码
什么是业务状态码:
1. 当发送Ajax请求的时候,由后端程序员在程序中给前端返回的一个数字
2. 业务状态完全就是程序员自己定义的一个数字,不统一的
业务状态码和响应状态码的区别
1. 业务状态码是由程序员人自定义定义的一个数字状态码(具有随意性)
2. 响应状态码是由http协议规定的 (具有统一性的)
3. 响应状态码的位置,是在响应头中展示的
4. 业务状态码是在响应体数据中位置展示的
什么时候用响应状态码或者业务状态码?
1. 在回调函数中,对数据进行处理的时候,最好加上响应状态码和业务状态码的判断
2. 一般情况下程序员都会判断业务状态码