zoukankan      html  css  js  c++  java
  • (转载)http协议的Request Payload 和 Form Data 的区别

    我正在开发的项目前端和后端是完全独立的,通过配置 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"

  • 相关阅读:
    函数
    字符串格式化
    集合
    习题02
    int/str/list/tuple/dict必会
    元组/字典
    列表方法
    练习题(format、expandtabs、片层)
    字符串方法
    JMM
  • 原文地址:https://www.cnblogs.com/yachao1120/p/9462771.html
Copyright © 2011-2022 走看看