【发布时间】:2010-09-24 21:57:01
【问题描述】:
我需要从一个网站向另一个域中托管的 REST Web 服务发出 AJAX 请求。
虽然这在 Internet Explorer 中运行良好,但 Mozilla 和 Google Chrome 等其他浏览器施加了更严格的安全限制,禁止跨站点 AJAX 请求。
问题是我无法控制该站点所在的域或 Web 服务器。这意味着我的 REST Web 服务必须在其他地方运行,并且我无法设置任何重定向机制。
这是进行异步调用的 JavaScript 代码:
var serviceUrl = "http://myservicedomain";
var payload = "<myRequest><content>Some content</content></myRequest>";
var request = new XMLHttpRequest();
request.open("POST", serviceUrl, true); // <-- This fails in Mozilla Firefox amongst other browsers
request.setRequestHeader("Content-type", "text/xml");
request.send(payload);
如何在 Internet Explorer 以外的其他浏览器中使用此功能?
【问题讨论】:
-
@PhiLho 在这种情况下,我的目标是调用托管在不同域上的 REST 服务,不包括动态内容。
标签: javascript ajax security xss