跨站点XmlHttp(XDomainRequest)

时间:2011-08-22 06:30:41

标签: javascript ajax internet-explorer internet-explorer-8 xdomainrequest

我正在为我的公司编写一个基于Web的工具,它正在运行本地Intranet并在IE8中运行。我相信,既然公司的计算机属于国有企业,除了IT部门之外,没有人能控制浏览器设置,他们不太可能做出任何改变,至少在我们需要的时间范围内没有。

我对“受信任的站点”(也在本地Intranet上)的URL有XmlHTTP请求,但是当我发送请求时,我得到一个例外:“访问被拒绝”,当我发现异常时并将其输出到我的页面,我得到“TypeError:Access被拒绝”。

有什么方法可以让IE8完成这个AJAX请求吗?

编辑:经过进一步研究,事实证明问题可能与可信站点/本地Intranet无关。显然你不能做跨域XmlHttp请求。我的系统是通过IP地址访问的,而我的AJAX脚本的目标站点是(仍然是本地的)域,它解析为不同的IP地址。不幸的是,我已经尝试编写一个PHP脚本,它将从服务器端获取页面,但是它也拒绝在没有用户名/密码的情况下连接。

在这个阶段,我愿意接受任何有关如何解决这个问题的hacky建议。如果我可以使这个功能起作用,它将节省我们手动输入数据的日子。

2 个答案:

答案 0 :(得分:2)

由于IE8不支持CORS,您必须执行代理或使用JSONP发出请求,或者获取相同IP下的所有内容。

答案 1 :(得分:0)

是的,无论请求是否在同一台服务器上,您都无法进行跨域XmlHttp请求。 我不知道你想要实现什么,但你不能用你列出的标签做到这一点。

你应该考虑一些编程。

您可以在任何您想要的编程中创建一个小代理页面,并使那些XmlHttp请求抛出该代理。