关于Get和Post,以及Content-type和Form Data、Request Payload、Query String Parameters之间的关系

1.使用get,是不需要考虑Content-type的,因为get方式提交的参数都是拼接在url中的,即参数格式是Query String Parameters(get方式发送的请求是没有请求体的)

2.post提交的参数一定要在请求体中吗?答:不是,也可以在url中,只是不符合规范

以post方式提交的参数在url中

当后端如上图所示定义接口时,前端以post(以fetch示例)方式提交数据时,前端可以在url中拼接参数

也可以在请求体中传递参数(注意此时需要把数据转换成FormData格式,且不能自己定义Content-type,因为自己定义的Content-type 而没有随机生成的boundary值,默认指定的content-type是有boundary值的)

ps:直接console.log(formData) 输出是{},取值console.log(formData.get("字段名"))

当后端如上图所示定义接口时,前端以post(以fetch示例)方式提交数据时只能将数据保存在请求体中,,且需设置'Content-Type': 'application/json'

关于Content-type 和Form Data、Request Payload、Query String Parameters之间的关系 详细请参考文章https://blog.actorsfit.com/a?ID=01600-294f9e97-0b61-412f-8ac6-005f3a1d7ab6

ps:仅是个人理解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。