HTTP请求数据类型

以POST方式发送请求,数据放在哪?
请求头Content-Type的值很重要。
前端ajax发送post请求时,Content-Type默认值为application/x-www-form-urlencoded,也就是通常说的表单提交,此时数据就放在请求头header后边,与header隔一个空行(该空行标记请求头header结束)。
有些POST的请求数据是放在body里,是怎么做到的呢?
其实就是改变Content-Type的值为application/json,这样数据就会以json格式放到body里,ajax可以这么写:

$.ajax({url: "http://www.xxx.com"type: "post",dataType: "json",data: "hello world",headers: {'Content-Type': 'application/json'},success: function (res) {if (res.status == 1) {window.location.reload();} else {alert(res.message);}}
})

PHP获取body数据方法:

file_get_contents('php://input')

HTTP请求信息分为请求行、请求头、请求正文。
两种POST的请求方式的数据都是放在请求正文中!

下面是Content-Type的值选项:

常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式

以application开头的媒体格式类型:
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/json : JSON数据格式
application/pdf :pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded :

中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:
multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式


这里写图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部