用xmlhttprequest.open()方法去访问一个外部网络资源。firefox里面我已经加入了
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");但是还是报错
"http://localhost:8080" was denied UniversalBrowserRead privileges是不是有什么必须数字签名的东西?
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");但是还是报错
"http://localhost:8080" was denied UniversalBrowserRead privileges是不是有什么必须数字签名的东西?
通过action类来代理的话,因为要通过别人的服务器,
需要认证的。。
如果用js的是不可能实现跨域的,这个问题没有办法解决,只能换种方式去解决,就是用URL远程请求然后返回数据给本地ajax。这个其实是一样的,你用js也是一个url请求,只是你把这个url换成本地的action请求,而action利用URL类去远程请求再返回数据给表现层的ajax
用本地代码,让Ajax调用本地的一个方法,让服务器端去远程连接获得结果,然后返回。
A服务器 B服务器 C服务器
其中B服务器为认证的服务器。所有从A服务器进出的request都要认证那么你说的两种访问方式
1,用客户端js打开新画面
window.open("c服务器的某个地址")2,用A服务器的某个action
new actionforward("c服务器的某个地址");这两个方式request发出的地方不一样吧。一个是从客户端直接发出不经过A服务器
另外一个是经过a服务器的。
我的理解如果有问题,请纠正一下,谢谢
有三个域名 a.com,b.com c.com你的ajajx所在页面是 a.com/index.jsp 想去访问c.com/xxxx.do 这样是不能访问的。因为js不能跨域访问。你可以这样处理 a中的ajax----->a.com/remotxxxx.do---->c.com/xxxx.doremotxxxx.do中可以利用URL类 new URL("c.com/xxxx.do") 的方式吧数据请求回来。然后再返回给本地的ajax请求,这样就可以了。不知道你明白了没。呵呵