2011-02-05 43 views
2

我试图从外部网站W/API启动一些数据的请求。简单的XML HttpRequest问题

如果我复制粘贴请求到我的网页浏览器,它工作正常。 例如(http://example.com/json/user/search/all) 我可以在浏览器窗口中看到结果。我试图从一个网站启动此查询,我遇到了一个问题: 使用这样的一些JavaScript: var req = new XMLHttpRequest(); req.open( 'GET',abovementionedurl,真) req.send()

我收到一条错误:产地(MYDOMAIN)没有被访问控制允许允许起源。

同样,我对XMLHttpRequests相当陌生,我认为这相当简单。 任何人都知道吗? (我试图搜索谷歌,但无法找到一个好的答案) 在此先感谢。

+0

查看相关http://stackoverflow.com/questions/1830050/why-same-origin-policy-for-xmlhttprequest – 2011-02-05 17:35:57

回答

2

您被禁止执行Cross-Site XMLHttpRequests并需要使用代理来完成它。

This article来自雅虎详细解释它,并给出了如何解决它的更多想法。但基本上不应该这样做,因为这种限制是出于安全目的而存在的。

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

2

的问题是same-origin policy。这是一个规则,XMLHTTPRequests可能而不是被使用,除了在与原始页面相同的域。这是出于安全原因。

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

+0

谢谢。这就说得通了。 – CTC 2011-02-05 18:23:58