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:仅是个人理解