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 : <form encType="">中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

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


这里写图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值