「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」。
使用ajax发送请求
axios的GET请求
axios({
method: '请求的类型',
url: '请求的URL地址',
params: {id: 1, bookname: '红楼梦'} // params用于传递参数,可选
}).then((result) => {
// .then 用来指定请求成功之后的回调函数
// 形参中的 result 是请求成功之后的结果
})
注意: GET参数的本质就是把参数用 & 符号链接起来放到路径的最末尾用 ?分隔
Ajax的POST请求
POST请求和GET请求不一样,POST请求一定会伴随着请求参数,因为如果没有参数,我们就不必使用POST请求了,且POST请求的功能就是推送数据:
axios({
method: 'POST',
url: 'http://www.liulongbin.top:3009/api/addbook',
data: { bookname: '三体', author: '刘慈欣', publisher: '北京人民出版社' }
}).then(({ data: res }) => {
// 从 .then(fn) 回调函数的形参中,解构赋值出 data 属性,重命名为 res
console.log(res)
})
ajax的请求方式一共有五种:
1.post
2.get
3.delete
4.put
5.patch
而post和get是最常用的,这里只举例post和get
请求报文和响应报文
客户端与服务器通信的过程是基于请求与响应的。其中:
- 请求报文规定了客户端以什么格式把数据发送给服务器
- 响应报文规定了服务器以什么格式把数据响应给客户端 请求报文:
响应报文 :
http 响应状态码 和 业务状态码是不同的:
所处的位置不同:在响应头的状态行中所包含的状态码,叫做“响应状态码”在响应体的数据中所包含的状态码,叫做“业务状态码”。
表示的结果不同:响应状态码只能表示这次请求的成功与否(成功 地失败了)业务状态码用来表示这次业务处理的成功与否
通用性不同:响应状态码是由 http 协议规定的,具有通用性。每个不同的状态码都有其标准的含义,不能乱用。业务状态码是后端程序员自定义的,不具有通用性。