总结
当客户端向服务端发送http的请求包含发送数据时,客户端要注意根据服务端处理发送数据的特定方式来选择http中Content-type属性的值(Content-type默认是application/x-www-form-urlencoded),虽然浏览器会根据你选择的Content-type值将发送数据处理成对应的数据格式,但最好私下将要发送的数据预处理成符合Content-type值的格式
分析
重点在于先认识HTTP的Content-Type属性 ,它用于标识传输数据的类型。在客户端发送的请求包含发送数据时,Content-Type告诉服务端实际发送数据的类型。
Content-Type类型有很多,我最熟悉是这两种:
1、application/x-www-form-urlencoded
编码形式:键值对 name1=value1&name2=value2
2、application/json
编码形式:json格式 {key1:value1,key2:value2}
如果Content-type的值没有对应服务端接收数据格式,服务端是无法接收客户端发送的数据的
例如:
服务端PHP使用$_POST接收请求发送的数据。当前端 使用post请求,明确Content-type值为application/json,那么PHP将无法接收这个请求发送的数据。
因为$_POST不接收application/json格式的数据