php post json请求参数传递_php获取post请求的json参数

早年APP还不火的时候,php用来开发网站的表单提交,获取post参数都是用$_POST对象获取。后来开始用来开发app接口,和前端同事沟通用json格式数据传递,post请求传递的参数也是json格式,一开始不太明白,以为http请求头中的body是形如这样的格式:

json_param=一个json格式的字符串

就是把所有参数封到一起,然后编码成json格式,最后以kv的形式传递上来,但是后来发现不是,所谓的json数据格式是http请求中的body是一个json格式的字符串,这个用$_POST就获取不到了。下面结合http头信息来理了一下这些个方式http请求body中的不同和如何获取这类型的参数。

php做网页的表单提交

早年网页表单的提交,都是用$_POST获取请求参数,实际上在http请求头中是用kv值的形式存在,如:

php post json请求参数传递_php获取post请求的json参数_第1张图片

网页表单提交http请求头

php在接收到这种请求的时候,php底层系统会将这种字符串解析并存放进$_POST变量中,所以在php中就可以通过$_POST获取这些参数。注意看下,这里的Content-Type是:application/x-www-form-urlencoded。

当然在上传文件的时候,表单需要增加一个 enctype=”multipart/form-data” 才可以。早年一直不明白为什么,后来才知道

你可能感兴趣的:(php,post,json请求参数传递)