data-id="1190000004902725">
序言
好習慣造就好人生,開發中要善於總結。今天我繼續跟大家分享一些乾貨,並關注我的粉絲們有福利了哈。下邊是我在PC端呼叫介面整理出來的一些筆記,以及提醒大家需要注意的事項!
原因分析
1.首先我說一下為啥會在PC端呼叫介面取得資料吧!
給你們:http://www.bitscn.com/pdb/php/201411/402...。看完這篇文章後估計你就明白我的用意了。
2、把相關的資料整合,不但利於資訊的獲取還能作為前車之鑑,前人栽樹後人乘涼懂吧?哈哈,我是博愛黨。
筆記整理
1、Yii2 PC端呼叫介面取得資料的三種方式
PHP呼叫Api介面的方法
<code> 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反转</code>
Ajax呼叫Api介面的方法
<code> 例: $.ajax({ type:"POST", url: //你的请求程序页面随便啦(接口地址) async:false,//同步:意思是当有返回值以后才会进行后面的js程序。 data://请求需要发送的处理数据 success:function(msg){ if (msg) {//根据返回值进行跳转 window.location.href = '你的跳转的目标地址(页面地址)'; } }</code>
使用後兩種方法的話,在介面對應控制器的所有方法頂部加上下面程式碼
<code>例: <script type="text/javascript" src="/apihandonesvn/frontend/web/assets/68738eee/jquery-1.11.2.min.js"></script> <script type="text/javascript"> //1、GET方式 $.get('http://api.XXX.com/v1/departments?grade=1',function(data){ // console.log(data);//输出内容,类似alert() $('#content').html(data); }); //2、POST方式 $.post('http://api.XXX.com/v1/departments?grade=1',{a:1,b:2,c:3},function(data){ $('#content').html(JSON.stringify(data)); }); </script></code>
以上三種PC端調用介面的方式,本人親測過都可行,你們各取所愛。
2、PC端呼叫接口,接口怎麼取得uid的問題?
此時介面就不可用Yii自帶的Yii:$app->user->id取得了,因為介面也不可能登入。介面要取得目前登入者的uid可以透過PC端傳個access-token,然後在介面用get取得去查出uid,解決。介面取得其它參數的時候也可同樣仿造此方法。
3、報:PHP Warning – yiibaseErrorException
這個錯誤是循環空資料造成的,只要在資料循環前得加個判斷,保證資料存在才能循環循環就解決了。這雖然不是什麼特別難解決的錯誤,但是細節問題我們還要注意,細節決定成敗。
提醒注意
1、PC端調用接口進行本地測試,本地接口地址最好別和網上一致,因為這樣它會先走本地接口,要是遇到本地接口好的話,不好找原因。
相關資料
PHP(CURL)POST資料呼叫API簡單範例:http://eyexiaobo.iteye.com/blog/1100712
以上就介紹了PC端呼叫介面筆記整理以及注意事項,包括了注意事項,介面方面的內容,希望對PHP教學有興趣的朋友有所幫助。