用兩個伺服器處理一個專案的程式碼,其中一臺伺服器只處理介面請求。
本來PHP可以使用CURL來處理,但是領導不允許使用PHP來處理資料。會影響網站的功能。如果介面端出現問題會導致整個網站或其頁面的崩潰,因此使用前端處理資料。就不會產生這種問題。
本文適用於知道跨域,但是不知道跨域為何物的程式設計師。
話不多說,PHP程式設計師們,複製貼上,就是幹!
var url = “http://xxxxxxx/index.php/Home/index/index?shop_id=”+ obj +””;
$.ajax({
url: url,
type: “GET”,
dataType: “jsonp”, //指定伺服器返回的資料型別
jsonp:`callback`, //回撥函式 設定回撥函式後端返回必須帶有該函式名,否則獲取不到資料 會一直走 error
//processData: false,
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(“請求資料異常,狀態碼:” + data.status);
}
});
php 介面程式碼
public function index()
{
header(“Access-Control-Allow-Origin: *”); //允許所有地址訪問 可設定訪問許可權
header(“Access-Control-Allow-Methods:POST,GET”);
header(“Access-Control-Allow-Headers:x-requested-with,content-type”);
header(“Content-type:text/json;charset=utf-8”);
//獲取回撥函式名,接頭暗號
$callback = I(`get.callback`);
獲取引數
$aba = I(`get.shop_id`);
//$aa = explode(`,`,$aba);
$aaa=[];
foreach($aa as $v){
$aaa[][`pageview`]= $this->pageview->where([`shop_id`=>$v])->count(); //資料處理
}
//吐資料
echo $callback.”(“.json_encode($aaa).”)”;
}