application/json和application/x-www-form-urlencoded都是表单数据发送时的编码类型。php
EncType:json
enctype 属性规定在发送到服务器以前应该如何对表单数据进行编码。数组
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器以前,全部字符都会进行编码。浏览器
以下图所示Content-Type:服务器
application/x-www-form-urlencoded编码类型的发送和接收app
窗体数据被编码为名称/值对编码
客户端:url
发送"test=I'm Egret",浏览器按F12,Network中查看发送数据spa
服务端:code
接收test数据
application/json的发送和接收
序列化后的 JSON 字符串
客户端:
发送JSON格式字符串 '{"test":"I'm Client."}'
服务端:
1. 用file_get_contents拿Post数据。$_POST['test']取不到数据。
2. 而后使用json_decode解码。 原始file_get_contents是字符串?
3. php中json访问方式 $json->test。php中没有{test:"I'm Client"}这种格式的,$json = {test:"I'm Client"}会报错。
4. 返回数据时将数组json_encode编码。php中json格式没有,用数组代替。
使用json格式,php头部须要加上以下代码,不然会报错
header('Access-Control-Allow-Headers:x-requested-with,content-type');