(三)ajax请求不同源之服务器代理跨域

时间:2023-03-09 19:31:43
(三)ajax请求不同源之服务器代理跨域

一、基本原理

Server Proxy,顾名思义,在服务器端设置一个代理,由服务器端向跨域的网站发出请求,再将请求结果返回给前端,成功避免同源策略的限制。

二、客户端和服务端代码

1、在localhost:81/a.html中,向同源的某个代理程序发出请求;

$.ajax({
  url:'/proxy.php?name=camille&age=18',   //服务器端的代理程序
  type:'GET',
  success:function (data){

  }
})

2、在代理程序proxy.php中,向非同源下的服务器发出请求,获得请求结果,将结果返回给前端。

<?php
    $name = $_GET['name'];
    $age = $_GET['age'];
    $crossUrl = 'http://b.com/sub?name='.$name;   //向其他域发出请求
    $res = file_get_contents($crossUrl);
    echo $res;
 ?>