web应用,使用ajax调用,请求参数类型为json时,php仅用$_POST或$_REQUEST方式时,会出现接受不到请求参数,因为是json格式需要一定的转换处理。
我们抽取方法代码如下:
/**
* 获取 post 参数; 在 content_type 为 application/json 时,自动解析 json
* @return array
*/
public function initPostData() {
$data=file_get_contents("php://input"); //取得json数据
$post = json_decode($data, TRUE); //格式化
return $post;
}
调用时代码如下:
...
$postData=$this->initPostData();
$name=$postData['name'];
...
这样,参数就可以正常接受处理了。