HTTP post发送数据(提交数据)的4种方式

说明

post 有以下4种 常见的发送数据方式:

  • url传参,这种传参类似 get 请求

  • form 表单默认提交方式

  • form 表单上传文件方式

  • 发送 JSON 格式的请求体数据

1. URL传参

与 get请求 传参相同:

http://localhost:8080/login?username=lilei&password=123456

不对数据进行编码,服务器端接收中文时可能乱码,需要额外处理

params

这种也称为 params 方式,如:postman、axios

postman如下:

2. form 表单默认提交方式

<form> 表单,不设置 enctype 属性,默认值是:application/x-www-form-urlencoded 方式提交数据

提示: enctype 属性可以影响 post 提交数据的方式,取值见 链接

提交的数据格式

提交的数据按照下面格式编码:

key1=val1&key2=val2

key 和 value 都进行了 URL 转码。

服务器端接收数据

服务器端通过简单设置,就可以正常接收到中文数据,不会发生中文乱码

ajax请求

这种方式也常用于ajax 请求,如:JQuery,Content-Type 默认值是:

application/x-www-form-urlencoded;charset=utf-8

3. form 表单上传文件方式

使用表单 上传文件 时,必须 将 enctype 设置为 multipart/form-data

提示: enctype 属性可以影响 post 提交数据的方式,取值见 链接

<form method="post" enctype="multipart/form-data" action="upload">

4. 发生 JSON 格式的请求体数据

告诉服务端 消息主体 是序列化后的 JSON 字符串

axios 默认 post 发送数据的方式

发送请求头 Content-Type,如下:

Content-Type: application/json;charset=utf-8

服务器端获取数据(Java)

request 获取数据方式

request获取 body数据(PayLoad 数据)(application/json )

springmvc、springboot 获取数据方式

springmvc教程-@RequestBody 接收Json格式数据


原文出处:/show_1IX34OQ6R04p.html