用兩個伺服器處理一個項目的代碼,其中一臺伺服器只處理介面請求。 本來PHP可以使用CURL來處理,但是領導不允許使用PHP來處理數據。會影響網站的功能。如果介面端出現問題會導致整個網站或其頁面的崩潰,因此使用前端處理數據。就不會產生這種問題。 本文適用於知道跨域,但是不知道跨域為何物的程式員。 話不 ...
用兩個伺服器處理一個項目的代碼,其中一臺伺服器只處理介面請求。
本來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).")";
}