php+ajax完美解决跨域请求问题

有时候前端用ajax时,碰到跨域问题,浏览器会报错,又不能改对方服务器上代码,其实很简单!只需要在自已的服务器写一个“php中转页面”。

即ajax向自己服务器的php页面发出请求,再由这个php页面去调用另一个域名的接口,就规避ajax跨域问题。这种方法在调用其他人的api接口时,很常用。

前端JS代码:

                    $.ajax({
                        type: "get",
                        dataType: "jsonp",
                        url: "Test.php",  //你服务器上的中转php文件如  Test.php
                        data: "abc=1&cdef=2",   //传递的参数
                        timeout: 5000,
                        complete :function(){},
                        success: function(xml)
                        {
                            //您的处理代码
                        }
                    })

中转文件Test.php代码:

<?php

 header("Content-Type: application/json" );
$abc=$_GET['abc'];


    $headers  = [
        'Accept: application/json',
        'Content-Type: application/json',
        'Authorization: Bearer '
    ];
    
    $curl = curl_init();
    
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_URL,'http://目标网址/?message='.$abc);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    //执行命令  
    $data = curl_exec($curl);  
    echo $data;   

?>

猜你喜欢

转载自blog.csdn.net/u010439874/article/details/132695930