json格式的请求体和url编码格式(Query String 格式)的请求体

1,在浏览器开发者工具看到的载荷长什么样子?

(1)json格式的请求体(载荷):{"title":"aaaa","type":1,"account":300,"remarks":"ccccc"}
(2)url编码格式的请求体(载荷):name=Alice&age=30&email=alice%40example.com
(3)还有form-data格式的请求体,它的请求体和请求头如下图所示。知道长什么样就行了,本篇文章不再讨论form-data格式的请求体了

json格式的请求体和url编码格式(Query String 格式)的请求体_第1张图片

 

另外,还有一个Query String 格式,它和url编码格式非常相似,区别就是URL 编码格式对特殊字符和非 ASCII 字符进行了编码,确保它们在 URL 中的正确传输和解析。

以下是五个示例,分别给出了 Query String 格式和 URL 编码格式:

示例一:
Query String 格式:param1=value1¶m2=value2
URL 编码格式:param1=value1¶m2=value2

示例二:
Query String 格式:name=John Doe&age=30
URL 编码格式:name=John%20Doe&age=30

2,请求头是什么样子?

json格式的请求头:Content-Type: application/json

url编码格式的请求头:Content-Type:application/x-www-form-urlencoded

3,在html代码中怎样发出这两种格式的请求体?

(3.1)json格式的请求,不能通过html的form表单标签发出,一般是通过Ajax通信(包括XMLHttpRequest 和 Fetch API )






  Submit JSON Request


  
  








  Ajax JSON 请求示例
  


  

(3.2)url编码格式的请求,可以通过form表单标签发出,也可以通过Ajax通信(包括XMLHttpRequest 和 Fetch API )发出。






  Submit Form Example


  






  XMLHttpRequest URL Encoded Request
  


  






  Fetch API URL Encoded Request
  


  

4,后端express解析请求体使用的中间件

app.use(express.json());   //解析json格式的请求体的中间件
app.use(express.urlencoded({ extended: false })); //解析url编码格式的请求体的中间件

另外,两种格式的请求体都可以使用formidable模块解析

你可能感兴趣的:(前端,后端,html)