客户端Web页面使用Ajax访问跨域URL时,会被浏览器捕获,一般浏览器会给安全提示。这样显然用户使用就不是太方便。
这里提供一种可以跨域的访问方式,但本质上并不是真的跨域,而是使用HTTP代理将跨域URL转化为本域URL。
具体做法是这样的:
1)编写一个页面proxy.jsp,在页面中把要访问的跨域URL作为参数传递;
2)proxy.jsp得到URL参数后,使用Socket连接访问相应页面,并将其返回值回送到客户端的Response中;
3)客户端访问proxy.jsp,并传递URL;
经测试,可以实现“跨域Ajax”功能,但由于服务器端没有真正解析访问的外域URL的返回HTML文档,因此可能导致服务器端请求连接无法及时关闭(具体要看服务器端代码如何写了)。