简单的XML HttpRequest问题

时间:2011-02-05 17:23:35

标签: javascript html xml xmlhttprequest getresponse

我正在尝试从带有API的外部网站发起一些数据请求。

如果我将请求复制粘贴到我的网络浏览器中,它可以正常工作。 示例如(http://example.com/json/user/search/all) 我可以在浏览器窗口中看到结果。

但是,我正在尝试从网站启动此查询,而我遇到了一个问题: 使用这样的一些JavaScript: var req = new XMLHttpRequest(); req.open('GET',aboveliedurl,true) req.send()

我收到一条错误消息:Access Control Allow Origin不允许使用Origin(MyDOMAIN)。

同样,我对XMLHttpRequests相当新,我认为解决起来相当简单。 谁知道? (我尝试搜索谷歌,但找不到一个好的答案) 提前谢谢。

3 个答案:

答案 0 :(得分:2)

问题是same-origin policy。这是XMLHTTPRequests可以使用的规则,除非在与原始页面相同的域中。这是出于安全原因。

最简单的方法是编写一个代理请求的服务器端脚本。

答案 1 :(得分:2)

您不能执行Cross-Site XMLHttpRequests并且需要使用代理来完成它。

来自雅虎的

This article详细解释了它,并提供了有关如何解决它的更多想法。但基本上不应该这样做,因为出于安全目的存在这种限制。

如果您使用PHP和fopen()并使用XMLHttpRequest对象简单地调用该页面,那会更好。

答案 2 :(得分:1)

这是您的浏览器防止跨站点脚本编写的保护。您不能访问来自其他域的其他页面。

编辑:同时检查:Cross-site XMLHttpRequest