ajax跨域之---tomcat服务器端代理实现

来源:互联网 发布:兰可吉他知乎 编辑:程序博客网 时间:2024/06/05 05:54

介绍一种不是通过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;  ?>




如果是以tomcat作为服务器代理,通过请求java后台的方式来完成跨域请求,则是这样的

java后台程序:


sendPost方法只是在网上找的一个java的post请求的方法。

前端ajax请求:



原创粉丝点击