当前第2页 返回上一页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | $.ajax({
type : "GET" ,
async : false,
url : "http://b.b.com:8080/B/FromAjaxservlet?userName=644064" ,
dataType : "json" ,
success : function (data) {
alert(data[ "userName" ]);
},
error : function () {
alert( 'fail' );
}
});
@WebServlet( "/FromAjaxservlet" )
public class FromAjaxservlet extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet( "http://a.a.com:8080/A/FromServlet?userName=" +req.getParameter( "userName" ));
CloseableHttpResponse response = httpClient.execute(httpGet);
int code = response.getStatusLine().getStatusCode();
System.out.println( "http请求结果为:" +code);
if (code == 200){
String result = EntityUtils.toString(response.getEntity());
System.out.println(result);
resp.getWriter(). print (result);
}
response.close();
httpClient.close();
} catch (Exception e) {
}
}
}
|
解决方式4:使用nginx搭建企业级接口网关方式
www.a.a.com不能直接请求www.b.b.com的内容,可以通过nginx,根据同域名,但项目名不同进行区分。什么意思呢?这么说可能有点抽象。假设我们公司域名叫www.nginxtest.com
当我们需要访问www.a.a.com通过www.nginxtest.com/A访问,并通过nginx转发到www.a.a.com
当我们需要访问www.b.b.com通过www.nginxtest.com/B访问,并通过nginx转发到www.a.a.com
我们访问公司的域名时,是"同源"的,只是项目名不同,此时项目名的作用只是为了区分,方便转发。如果你还不理解的话,先看看我是怎么进行配置的:
1 2 3 4 5 6 7 8 9 10 11 12 | server {
listen 80;
server_name www.nginxtest.com;
location /A {
proxy_pass http:
index index.html index.htm;
}
location /B {
proxy_pass http:
index index.html index.htm;
}
}
|
我们访问以www.nginxtest.com开头且端口为80的网址,nginx将会进行拦截匹配,若项目名为A,则分发到a.a.com:81。实际上就是通过"同源"的域名,不同的项目名进行区分,通过nginx拦截匹配,转发到对应的网址。整个过程,两次请求,第一次请求nginx服务器,第二次nginx服务器通过拦截匹配分发到对应的网址。
相关免费学习推荐:javascript(视频)
以上就是ajax跨域问题如何解决的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
html5中利用postmessage实现ajax中的post跨域
什么是ajax跨域
ajax跨域问题如何解决
更多相关阅读请进入《ajax跨域》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » ajax跨域问题如何解决