场景:
我们服务端在接受处理前端发过来的请求,一般默认都是表单提交。
Content-Type 为 application/x-www-form-urlencoded 的居多。
文/谦益
但是有些时候,比如:
- 在iOS的内购中,像苹果服务器验证订单是否合法,就要求发送
Content-Type为application/json的请求。 - 微信开发里面的请求
- 把请求体序列化为json传过来 等情况。
不由得我就在想,我PHP怎么接收这样的请求。
解决方案:
微信的文档说用$GLOBALS ["HTTP_RAW_POST_DATA"]来接收数据,对于老版本的PHP是可行的。
到新版本的PHP 好像弃用了,改用 file_get_contents('php://input')来接受数据。用法和 $_POST 一样,
$request = file_get_contents('php://input');
$name = $request["name"];