application/json 和 application/x-www-form-urlencoded 有什么区别?

两者之间有什么区别?

第一种:application/json 

request.ContentType = "application/json; charset=utf-8";

 分析:

第一种情况是告诉 Web 服务器您正在发布 JSON 数据,如下所示:

{"Name": "John Smith", "Age": 23}

​​​

“application/json”内容类型是预检请求之一。

现在,如果请求不是简单的请求,浏览器会自动在原始请求之前发送HTTP请求,然后通过OPTIONS方法检查发送原始请求是否安全。如果可以,则发送实际请求。您可以在此处查找详细信息。

application/json 是初学者友好的。URL编码数组可能是一场噩梦!

第二种:application/x-www-form-urlencoded

request.ContentType = "application/x-www-form-urlencoded";

分析:

第二种情况是告诉 Web 服务器,您将在 URL 中对参数进行编码:

Name=John+Smith&Age=23

1.application/x-www-form-urlencoded的名字来自哪里?
如果发送HTTP GET请求,则可以按如下方式使用查询参数:
http:/example.com/path/to/page?名称=雪貂&颜色=紫色
字段的内容编码为查询字符串。的名称来自前面的u川查询参数,但查询参数位于请求正文
不是url的位置。application,/x-wwwW-form-
urlencoded
整个表单数据作为长查询字符串发送。查询字符串包含由&字符分隔的名称-值对
例如,字段1=值1&字段2=值2
2.它可以是简单的情求,称为简单-不要触发印前检查
简单请求必须具有一些属性。您可以在此处查找详细信息。其中之一是,对于简单请求,
Content-Type标头只允许三个值:
1、application/x-www-form-urlencoded
2、多部分表单数据
3、文本/纯文本

对于大多数扁平参数树,尝试并测试了application/x-www-form-urlencoded。.

webRequest.ContentType ="application/json; charset=utf-8";


数据将采用json格式。

axios 和 superagent 是两个更流行的 npm HTTP 库,默认情况下使用 JSON 主体。

{
  "id": 1,
  "name": "Foo",
  "price": 123,
  "tags": [
    "Bar",
    "Eek"
  ],
  "stock": {
    "warehouse": 300,
    "retail": 20
  }
}

两者之间最大的区别之一是,JSON编码帖子通常会保留发送的值的数据类型(只要它们是有效的JSON数据类型),而apprament/x-www-form-urlencoded通常会将所有属性转换为字符串。

例如,在 JSON 编码的帖子中:

{"Name": "John Smith", "Age": 23}

服务器很可能会将 Age 属性解析为整数 23。

而在

Name=John+Smith&Age=23

服务器很可能会将 Age 解析为字符串“23”。

当然,如果您使用其他图层来解析这些值并将其转换为适当的类型,这可能不是问题。

================================

您可以通过打开f12控制台看到这一点:

application/json 和 application/x-www-form-urlencoded 有什么区别?_第1张图片

 

表单数据

页眉

content-type: multipart/form-data; boundary=--------------------------590299136414163472038474

身体

key1=value1key2=value2

x-www-form-urlencoded

页眉

Content-Type: application/x-www-form-urlencoded

身体

key1=value1&key2=value2

原始文本/纯文本text/plain

页眉

Content-Type: text/plain

身体

This is some text.

原始 json

页眉

Content-Type: application/json

身体

{"key1":"value1","key2":"value2"}

你可能感兴趣的:(前端开发,json,java,前端,application编码格式,utf-8)