本文共 1003 字,大约阅读时间需要 3 分钟。
ajax请求时http头信息的content-type是application/x-www-form-urlencoded或application/json区别
application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式
application/json:消息主体是序列化后的 JSON 字符串 multipart/form-data: 需要在表单中进行文件上传时,就需要使用该格式。常见的媒体格式是上传文件之时使用的 text/plain:数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。
content-type请求头
http请求头有四种类型,分别是通用头部,请求头部,响应头部以及内容头部,首先,我们要弄清楚,content-type是属于内容头部,既然是内容头部,那这个请求头是用来向接收端解释传递的该内容主体的,content-type的取值是告诉服务端,你传递过去的内容是什么,你应该准备好如何接收,这里,我们重点剖析一下其中几个取值,’application/json’,’application/x-www-form-urlencoded’,’multipart/form-data’。
application/x-www-form-urlencoded
这个类型是ajax默认的 content-type类型,这时前端可以以对象方式直接给后端,或者以json方式传给后端, 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 当action为post时候,浏览器把form数据封装到http body中,然后发送到server。在浏览器控制台可以看到它们的内容都是以‘From Data’形式展现
application/json
如果ajax的头部是application/json,那么post时,数据必须以json格式传给后端,这时后端在
$_POST
’中不能直接接受到数据,必须用$GLOBALS['HTTP_RAW_POST_DATA']取出来,然后再json_decode就行了。
转载地址:https://jackiehao.blog.csdn.net/article/details/108153797 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!