关于在yii2框架下接口接收ios端传来数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于在yii2框架下接口接收ios端传来数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1853字,纯文字阅读大概需要3分钟。
内容图文
![关于在yii2框架下接口接收ios端传来数据](/upload/InfoBanner/zyjiaocheng/152/beb99822498742c492dc0578a0560cd6.jpg)
回复内容:
用Yii::$app->request->post();接收ios传来的数据,将接收到的数据打印出来会显示值为null。如果用$_data = empty($_POST) ? json_decode(file_get_contents('php://input'), TRUE) : $_POST;接收ios传来的数据是可以获取到值,但是只要没有接收到这个数据,这里就会报错。请大神指导一下,关于数据接收的问题
检查一下 IOS的HTTP请求头 应该是请求头设置的有问题 我司的ios童鞋请求接口未发生这种情况
可能是iOS传上来的时候没有指定为json格式,
你可以打印 $_SERVER['CONTENT_TYPE'] 看看是否为 application/json,
如果不是,试试
$_SERVER['CONTENT_TYPE'] = 'application/json';
Yii::$app->request->post();
这个应该是ios发的请求包将消息体直接打包成json格式的消息了。
所以php端需要用file_get_contents('php://input')去获取消息体。
鄙人之前是做iOS的 请求头问他请求头是否设置好
再说正规的取出json数据的方法应该是这样的
$body = Yii::$app->request->getRawBody();
json_decode($body,true);
如果你的API是基于Yii2框架来开发的,你完全可以通过如下的方式进行数据接收:
get请求方式:
$value = Yii::$app->request->get("参数名");
post请求方式:
$value = Yii::$app->request->post("参数名");
如果客户端传递数据时的Content-Type是application/json,那么你需要在config.php文件的request部分中配置如下:
'request' => [
'cookieValidationKey' => '5opbkVM6PYmVxcyNvHG1wK06fkIh0vYG',
'parsers' => [
'application/json' => 'yii\web\JsonParser'
],
],
这样,你能成功拿到以json的形式传递的值。
如果客户端是将对象序列化为json后传递的,你可以这样接收这个对象并保存到数据库:
$article = new Article();
$article->load(Yii::$app->getRequest()->getBodyParams(), '');
if (!$model->save()) {
throw new ServerErrorHttpException('文章保存失败');
}
内容总结
以上是互联网集市为您收集整理的关于在yii2框架下接口接收ios端传来数据全部内容,希望文章能够帮你解决关于在yii2框架下接口接收ios端传来数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。