您的位置:首页 > 编程语言 > PHP开发

thinkphp3.2 后台接收安卓前端传参出问题(取不到参数数据)

2017-07-22 15:36 411 查看
场景: thinkphp3.2.3 后台接口为非url传参,前端说是用post传参的
问题描述:接口取不到参数数据,用 I()函数,$_GET,$_REQUEST,$_POST等都取不 到数据
原因:一个PHP老同事也遇到过相同问题。原因后面详述
解决:后台用
$data = file_get_contents("php://input");

来获取前端传来的参数
功能整体代码如下:

/**
* 前端扫描二维码,查询产品信息及相关厂家信息
* @param  {string} $itemId
* @return {json} $data $info $status
*/
public function getItemInfo()
{
//url传参接收(这是以前接受不到参数的代码,注释掉了,方便大家对比)
//$tid = I('itemId');
//$uid = I('uid');
//$location = I('location');

//安卓前端 传参接收(这是后来改用的接收参数的代码)
$tmp = file_get_contents("php://input");
$arr = json_decode($tmp,true);
$tid = $arr['itemId'];
$uid = $arr['uid'];
$location = $arr['location'];

if(!$uid) $uid = 'unreg';//未传用户uid,默认设置 为 uid = 'unreg'的用户

if(!$tid){

$this->error('扫描出错',0);
}
//后面代码省略,都是功能性代码了...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐