PC端调用接口笔记整理以及注意事项
序言
好习惯造就好人生,开发中要善于总结。今天我继续给大家分享一些干货,关注我的粉丝们有福利了哈。下边是我在PC端调用接口整理出来的一些笔记,以及提醒大家需要注意的事项!
原因分析
1.首先我说一下为啥会在PC端调用接口获取数据吧!
给个链接给你们:http://www.bitscn.com/pdb/php/201411/402...。看完这篇文章之后估计你就明白我的用意了。
2、把相关的资料整合,不但利于信息的获取还能作为前车之鉴,前人栽树后人乘凉懂吧?哈哈,我是博爱党。
笔记整理
1、Yii2 PC端调用接口获取数据的三种方式
PHP调用Api接口的方法
1、直接在方法里引用接口的url。2、通过file_get_contents()函数获取url的数据。3、把获取到的JSON格式数据进行反转。(可选)4、参考网址:http://www.jb51.net/article/20705.htm //PHP远程调用URL例: $url='http://api.xxx.com/v1/departments?id=list&company_id=1';$data=file_get_contents($url);$data_1 = json_decode($data,true); //JSON反转 Ajax调用Api接口的方法
例:$.ajax({type:"POST",url: //你的请求程序页面随便啦(接口地址)async:false,//同步:意思是当有返回值以后才会进行后面的js程序。data://请求需要发送的处理数据success:function(msg){if (msg) {//根据返回值进行跳转window.location.href = '你的跳转的目标地址(页面地址)';}} JQ调用Api接口的方法
例: 补充:使用后两种方法的话,在接口对应控制器的所有方法顶部加上下面代码
public function behaviors(){return ArrayHelper::merge([['class' => Cors::className(),'cors' => ['Origin' => ['http://www.ceshi.com'],//PC端的Url'Access-Control-Request-Method' => ['GET','POST','PUT','DELETE', 'HEAD', 'OPTIONS'],],'actions' => ['index' => ['Access-Control-Allow-Credentials' => true,]]],],parent::behaviors());} 以上三种PC端调用接口的方式,本人亲测过都可行,你们各取所爱。
2、PC端调用接口,接口怎么获取uid的问题?
此时接口就不可用Yii自带的Yii:$app->user->id获取了,因为接口也不可能登录。接口要获取当前登录者的uid可以通过PC端传个access-token,然后在接口用get获取去查出uid,解决。
接口获取其它参数的时候也可同样仿造此方法。
3、报:PHP Warning – yii\base\ErrorException
Invalid argument supplied for foreach()错误的问题及解决方法
这个错误是循环空数据造成的,只要在数据循环前得加个判断,保证数据存在才能循环就解决了。这虽然不是什么特别难解决的错误,但是细节问题我们还得注意,细节决定成败。
提醒注意
1、PC端调用接口进行本地测试,本地接口地址最好别和网上一致,因为这样它会先走本地接口,要是遇到本地接口好的话,不好找原因。
相关资料
PHP(CURL)POST数据调用API简单示例:http://eyexiaobo.iteye.com/blog/1100712
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
