之间有什么区别
request.ContentType =“application / json; charset = utf-8”;
和
webRequest.ContentType =“application / x-www-form-urlencoded”;
答案 0 :(得分:136)
第一种情况是告诉Web服务器您正在发布JSON数据,如下所示:
{ Name : 'John Smith', Age: 23}
第二个选项是告诉Web服务器您将在URL中对参数进行编码,如下所示:
Name=John+Smith&Age=23
答案 1 :(得分:17)
webRequest.ContentType =“ application / x-www-form-urlencoded”;
application / x-www-form-urlencoded 的名称来自何处?
如果发送HTTP GET 请求,则可以使用查询参数,如下所示:
http://example.com/path/to/page
?name = ferret&color = purple
字段的内容被编码为查询字符串。 application/x-www-form-
urlencoded
的名称来自先前的url查询参数,但查询参数为
在请求正文而不是网址中。
整个表格数据以长查询字符串形式发送。查询字符串包含 name- 值对,用&字符
分隔例如field1 = value1&field2 = value2
它可以是简单请求,称为简单-不要触发飞行前检查
简单请求必须具有一些属性。您可以查看here了解更多信息。之一 它们是Content-Type标头只允许三个值 请求
3。对于大多数平面参数树,尝试并测试了application / x-www-form-urlencoded。
request.ContentType =“ application / json; charset = utf-8”;
axios 和 superagent (两个最受欢迎的npm HTTP库)可以使用JSON正文。
{ "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
现在,如果请求不是简单请求,浏览器会通过 OPTIONS 方法自动在原始请求之前发送HTTP请求,以检查发送是否安全原始请求。如果可以,则发送实际请求。您可以在here中查找更多信息。
答案 2 :(得分:0)
JavaScript对象表示法(JSON)的应用程序/ json媒体类型
JavaScript对象表示法(JSON)是用于
结构化数据的序列化。它是从对象派生的
JavaScript的文字,如ECMAScript编程中所定义
语言标准,第三版 [ECMA]
JSON可以代表四种原始类型(字符串,数字,布尔值,
和null)和两种结构化类型(对象和数组)。 More...
表单的编码类型由属性enctype确定:
应用程序/ x-www-form-urlencoded -表示URL编码的表单。这是
如果enctype属性未设置为任何值,则为默认值。
multipart / form-data -表示一个多部分表单。这种形式的表格在
用户想要上传文件
文本/纯文本-顾名思义,HTML5中引入了一种新的表单类型
只需发送数据而无需任何编码。 Here is the rest of the good article about this