1. 程式人生 > >ajax跨域之---服務器端代理實現

ajax跨域之---服務器端代理實現

通過 str 分享 介紹 hello js實現 pre ucc ref

介紹一種不是通過js實現跨域的方式: 通過服務器端代理實現。

具體的思路:由於瀏覽器有同源策略限制,(同源策略即:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy),所以想要跨域訪問其他域下的資源,需要繞開瀏覽器的這個限制,可以在服務器端設置一個代理,由服務器端向跨域下的網站發出請求,再將請求結果返回給前端,成功避免同源策略的限制。

具體操作如下:

1、在localhost:81/a.html中,向同源下的某個代理程序發出請求

技術分享
$.ajax({
    url:‘/proxy.php?name=hello&info=information‘,   //服務器端的代理程序
    type:‘GET‘,
    success:function (){}

})
技術分享

2、在代理程序proxy.php中,向非同源下的服務器發出請求,獲得請求結果,將結果返回給前端。

技術分享
<?php 

$name=$_GET[‘name‘];
$info = $_GET[‘info‘];
$crossUrl = ‘http://b.com/sub?name=‘.$name;   //向其他域下發出請求
$res = file_get_contents($crossUrl);
echo $res; 


 ?>
技術分享

ajax跨域之---服務器端代理實現