PC端調用接口筆記整理以及注意事項

序言

好習慣造就好人生,開發中要善於總結。今天我繼續給你們分享一些乾貨,關注個人粉絲們有福利了哈。下邊是我在PC端調用接口整理出來的一些筆記,以及提醒你們須要注意的事項!javascript

緣由分析

1.首先我說一下爲啥會在PC端調用接口獲取數據吧!
給個連接給大家:http://www.bitscn.com/pdb/php/201411/402...。看完這篇文章以後估計你就明白個人用意了。
二、把相關的資料整合,不但利於信息的獲取還能做爲前車可鑑,前人栽樹後人乘涼懂吧?哈哈,我是博愛黨。php

筆記整理

一、Yii2 PC端調用接口獲取數據的三種方式html

PHP調用Api接口的方法java

一、直接在方法裏引用接口的url。
    二、經過file_get_contents()函數獲取url的數據。
    三、把獲取到的JSON格式數據進行反轉。(可選)
    四、參考網址: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接口的方法jquery

例:
        $.ajax({
        type:"POST",
        url: //你的請求程序頁面隨便啦(接口地址)
        async:false,//同步:意思是當有返回值之後纔會進行後面的js程序。
        data://請求須要發送的處理數據
        success:function(msg){
            if (msg) {//根據返回值進行跳轉
                window.location.href = '你的跳轉的目標地址(頁面地址)';
            }
        }

JQ調用Api接口的方法web

例:
        <script type="text/javascript" src="/apihandonesvn/frontend/web/assets/68738eee/jquery-1.11.2.min.js"></script>
        <script type="text/javascript">
            //一、GET方式
            $.get('http://api.XXX.com/v1/departments?grade=1',function(data){ 
                    //  console.log(data);//輸出內容,相似alert()
                     $('#content').html(data);
            });

            //二、POST方式
            $.post('http://api.XXX.com/v1/departments?grade=1',{a:1,b:2,c:3},function(data){ 
                     $('#content').html(JSON.stringify(data));
            });

        </script>

補充:使用後兩種方法的話,在接口對應控制器的全部方法頂部加上下面代碼ajax

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端調用接口的方式,本人親測過均可行,大家各取所愛。json

二、PC端調用接口,接口怎麼獲取uid的問題?
此時接口就不可用Yii自帶的Yii:$app->user->id獲取了,由於接口也不可能登陸。接口要獲取當前登陸者的uid能夠經過PC端傳個access-token,而後在接口用get獲取去查出uid,解決。
接口獲取其它參數的時候也可一樣仿造此方法。api

三、報:PHP Warning – yii\base\ErrorException
Invalid argument supplied for foreach()錯誤的問題及解決方法
這個錯誤是循環空數據形成的,只要在數據循環前得加個判斷,保證數據存在才能循環就解決了。這雖然不是什麼特別難解決的錯誤,可是細節問題咱們還得注意,細節決定成敗。app

提醒注意

一、PC端調用接口進行本地測試,本地接口地址最好別和網上一致,由於這樣它會先走本地接口,要是遇到本地接口好的話,很差找緣由。

相關資料

PHP(CURL)POST數據調用API簡單示例:http://eyexiaobo.iteye.com/blog/1100712

相關文章
相關標籤/搜索