介紹一種不是通過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; ?>