Heim  >  Artikel  >  Web-Frontend  >  Wie löse ich das domänenübergreifende Ajax-Problem? (mit Code)

Wie löse ich das domänenübergreifende Ajax-Problem? (mit Code)

不言
不言Original
2018-08-15 11:22:091436Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Lösung des domänenübergreifenden Ajax-Problems. (Beigefügt ist der Code), der einen gewissen Referenzwert hat. Freunde in Not können sich darauf beziehen. Ich hoffe, er wird Ihnen hilfreich sein.

Verwenden Sie zwei Server, um den Code eines Projekts zu verarbeiten, von denen einer nur Schnittstellenanforderungen verarbeitet.

Ursprünglich konnte PHP CURL zur Verarbeitung verwenden, der Marktführer erlaubte jedoch nicht, PHP zur Datenverarbeitung zu verwenden. Wird die Funktionalität der Website beeinträchtigen. Liegt ein Problem auf der Schnittstellenseite vor, führt dies zum Absturz der gesamten Website oder ihrer Seiten, sodass das Frontend zur Verarbeitung der Daten genutzt wird. Dieses Problem wird nicht auftreten.

Dieser Artikel ist für Programmierer geeignet, die sich mit Cross-Domain auskennen, aber nicht wissen, was Cross-Domain ist.

Ohne weitere Umschweife, PHP-Programmierer, einfach kopieren und einfügen!

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-Schnittstellencode

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).")";
}

Verwandte Empfehlungen:

Ajax Cross-Domain-Lösung, Ajax Cross-Domain

Die umfassendste Lösung für domänenübergreifendes Ajax

domänenübergreifender Ajax-Aufruf-Implementierungscode für domänenübergreifendes Ajax mit jQuery in PHP

Das obige ist der detaillierte Inhalt vonWie löse ich das domänenübergreifende Ajax-Problem? (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn