我正在为我的公司编写一个基于Web的工具,它运行在本地Intranet上并在IE8中运行。我相信,既然公司的计算机处于国有企业,除了IT部门之外,没有人能够控制浏览器设置,他们也不可能做出任何更改,至少不是我们所需的时间范围。跨站点XmlHttp(XDomainRequest)
我有一个XmlHTTP请求到一个URL在“受信任的站点”(也在本地Intranet),但是当我发送请求时,我得到一个异常:“访问被拒绝”,当我赶上异常并输出到我的页面,我得到“TypeError:访问被拒绝”。
有没有什么办法可以让IE8完成这个AJAX请求?
编辑:经过进一步研究,事实证明,问题可能与可信站点/本地Intranet无关。显然你不能做跨域XmlHttp请求。我的系统是通过IP地址访问的,而我的AJAX脚本的目标站点是(仍然是本地的)域,它解析为不同的IP地址。不幸的是,我已经尝试编写一个PHP脚本,它将从服务器端获得页面,但是它也拒绝没有用户名/密码的连接。
在这个阶段,我接受任何有关如何解决这个问题的黑客建议。如果我可以使这个功能起作用,它将为我们节省手动输入数据的时间。
__Same Origin Policy__被引用到不同的域,协议和端口,而不是不同的IP;)。请参阅http://en.wikipedia.org/wiki/Same_origin_policy。不过,用于声明__JSONP__选项的+1,是目前独特的crossbrowser方法(几种浏览器具有可通过javascript处理的变量,以实现该功能,但不同)。 – diosney
1)我不控制目标服务器的IP地址,不幸的是,2)服务器没有JSONP代码 - 我目前的代码下载了html内容,并找到了一个特定的元素来获取我需要的内容。 – Ozzah
@Ozzah,听起来像你运气不好,除非你可以得到一个代理工作或与其他服务器一起工作,并让他们返回可以使用的内容。 :) – epascarello