首页 > Web开发 > 详细

(转载)http协议的Request Payload 和 Form Data 的区别

时间:2018-08-12 15:17:22      阅读:256      评论:0      收藏:0      [点我收藏+]

我正在开发的项目前端和后端是完全独立的,通过配置 webpack 的 proxy 将前端请求跨域代理到后台服务。昨天发现,我前端执行 post 请求,后台 springmvc 的 @RequestMapping 接收不到对应的请求参数。开始我以为是我 proxy 配置有问题,导致 post 参数不能传到后台。然而,并不是这样…

proxy 配置如下:

技术分享图片

前端代码:

技术分享图片

java 后台代码:

技术分享图片

Request Payload VS Form Data

前端请求

我看了前端发起的请求,请求正文并不是我熟悉的 Form Data,而是 Request Payload。如图注意下面两个请求的 Content-Type 的区别。

Request Payload 请求

技术分享图片

Form Data 请求

技术分享图片

了解这两个的区别之前,我们先回顾下 HTTP 请求报文格式:

技术分享图片

Request Payload 大概格式如下,请求头部的 Content-Type: application/json,并且请求正文是一个 json 格式的字符串

技术分享图片

Form Data 大概格式如下,请求头部的 Content-Type: application/x-www-form-urlencoded,并且请求正文是类似 get 请求 url 的请求参数

技术分享图片

解决方案:在method: "post"后面加上contentType : "application/x-www-form-urlencoded"

(转载)http协议的Request Payload 和 Form Data 的区别

原文:https://www.cnblogs.com/yachao1120/p/9462771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!