>웹 프론트엔드 >JS 튜토리얼 >Ajax 크로스 도메인 문제를 해결하는 방법은 무엇입니까? (코드 포함)

Ajax 크로스 도메인 문제를 해결하는 방법은 무엇입니까? (코드 포함)

不言
不言원래의
2018-08-15 11:22:091481검색

이 글의 내용은 Ajax 크로스 도메인 문제를 해결하는 방법에 관한 것입니다. (코드 첨부) 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

두 개의 서버를 사용하여 프로젝트의 코드를 처리합니다. 그 중 하나는 인터페이스 요청만 처리합니다.

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

관련 추천:

ajax 교차 도메인 솔루션, ajax 교차 도메인

Ajax 교차 도메인에 대한 가장 포괄적인 솔루션

ajax 교차 도메인 사용 PHP Ajax 도메인 간 호출 구현 코드의 jQuery

위 내용은 Ajax 크로스 도메인 문제를 해결하는 방법은 무엇입니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.