http协议中的url传参和body传参

Http的请求方法对应的数据传输能力把Http请求分为Url类请求和Body类请求

	1.Url类请求包括但不限于GET、HEAD、OPTIONS、TRACE 等请求方法
	2.Body类请求包括但不限于POST、PUSH、PATCH、DELETE 等请求方法。
	3.原因:get请求没有请求体(好像也可以有,暂且说没有)只能数据携带在 url地址上
			而post请求有请求体,既可以将 数据携带在 url上(直接在url上加就行),也可以将数据携带在body内

Url类请求释义

	1.对于Url类请求,客户端是不能通过body写出数据的
	2.因此Url类的请求想要提交参数,就把参数跟在url后边了
	3.我们称为参数的这一段整体上叫做Query,是键值对形式的
	4.把它们拆开后组成键值对的形式又叫做Parameters
	5.大多数情况下一个Key对应一个Value,当然是允许一个Key对应多个Values的。

Body类请求释义

	1.Body类请求在语义和能力上来说应该是兼容Url类请求的
	2.Body类请求能上传到服务端的数据比Url类请求的大的多
	3.Body类请求除了可以把参数放到url中,也可以通过body发送数据

关于 Content-Type

	1.当Content-Type是application/x-www-form-urlencoded时客户端可以通过body发送
	   键值对数据,例如key1=value1&key2=value2		
	   
	   如果是get请求的话,那么就会在url后面加上这些键值对
	   
	   注意: 1.Content-Type是application/x-www-form-urlencoded时数据键值对形式的
	   		2.不管在body还是在url上,都是这个形式,并且数据都会存到 Parameters中

	2.当Content-Type是application/json时, 如果是 post请求 ,前端 在 body中 只能填充
	json格式,url后面也可以填充
	如果是 get请求(不行)

	简单来说
	get请求,只能填充 请求行
	post请求
	1.当 content-type = application/x-www-form-urlencoded 时,不管在body还是url任何形式,最后
	都会填充到 url后面
	2、当 content-type = application/json的时候,在 body里面 只能用 json格式,body里面是请求体
	url后面是请求行
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: axios可以通过query传参body传参。 query传参是将参数拼接在url后面,例如: ``` axios.get('/api/user?id=123') ``` 这里的id=123就是通过query传参的。 body传参是将参数放在请求体,例如: ``` axios.post('/api/user', {id: 123}) ``` 这里的{id: 123}就是通过body传参的。 一般来说,get请求使用query传参,post请求使用body传参。但是,也可以在get请求使用body传参,只需要将参数放在config的data属性即可。例如: ``` axios.get('/api/user', {data: {id: 123}}) ``` ### 回答2: axios是一个流行的基于Promise的HTTP客户端库,可以在浏览器和Node.js使用。它提供了一种简单、方便、通用的方式来发送HTTP请求,支持多种请求方法,拦截请求和响应,处理请求和响应的数据等。 在axios,我们可以通过query传递参数和通过body传递参数。query参数通常是GET请求的一部分,而body参数通常是POST、PUT、PATCH等请求方法的一部分。 1. query传参 在axios,我们可以将参数以键值对的形式附加到URL的末尾,以传递query参数。例如: ``` axios.get('/user/search', { params: { name: 'John', age: 30 } }) ``` 这里我们将name和age作为参数传递到了/user/search接口。这些参数将被附加到URL的末尾,形如: ``` /user/search?name=John&age=30 ``` 注意,axios将自动将参数进行编码,以确保URL的完整性。 2. body传参 除了query参数,我们还可以通过POST、PUT、PATCH等请求方法body来传递参数。在axios,我们可以使用data选项将参数作为请求体传递。例如: ``` axios.post('/user/create', { name: 'John', age: 30 }) ``` 这里我们将name和age作为参数传递到了/user/create接口。这些参数将被包含在请求体,而不是URL。在后台,可以将参数解析为请求体的JSON格式,例如: ``` { "name": "John", "age": 30 } ``` 总结 在axios,我们可以通过query传递参数和通过body传递参数。query参数通常是GET请求的一部分,而body参数通常是POST、PUT、PATCH等请求方法的一部分。我们可以使用params选项传递query参数,使用data选项传递body参数。无论是query参数还是body参数,在发送请求时都需要使用axios提供的请求方法,例如GET、POST、PUT、PATCH等。 ### 回答3: axios是一个很流行的基于Promise的HTTP客户端,可以在浏览器和Node.js使用。在使用axios发送HTTP请求时,可以使用query传参body传参。 query传参是指将参数作为查询字符串附加在URL的末尾,通常用于GET请求。例如,将参数名称和值拼接成键值对,用“&”符号分隔,然后附加在URL的末尾。 例如,以下示例演示了如何使用axios进行GET请求,并使用query传递参数: ```javascript axios.get('/api/user', { params: { userID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` 在上面的示例,使用`params`选项将参数传递给GET请求。这将导致请求URL附加参数,如下所示: ``` /api/user?userID=12345 ``` 而body传参则是在HTTP请求将参数作为消息体发送,通常用于POST或PUT请求。例如,将参数封装在对象,然后将对象作为请求体传递。 例如,以下示例演示了如何使用axios进行POST请求,并使用JSON对象传递参数: ```javascript axios.post('/api/user', { userID: 12345 }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` 在上面的示例,使用对象作为参数进行POST请求。这将导致请求体被发送到服务器,如下所示: ``` {"userID": 12345} ``` 总的来说,query传参body传参都是用于在axios传递参数的方式,具体取决于你所使用的HTTP方法和API需求。在GET请求,使用query传参通常是最好的选择,而在POST或PUT请求,则应使用body传参

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值