2

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

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

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

我收到一条错误消息:访问控制允许来源不允许来源(MyDOMAIN)。

同样,我对 XMLHttpRequests 还很陌生,我认为这很容易解决。有人知道吗?(我尝试搜索谷歌,但找不到一个好的答案)提前谢谢。

4

3 回答 3

2

问题是同源策略。这是一条规则,除非在与原始页面相同的域中,否则不得使用 XMLHTTPRequests。这是出于安全原因。

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

于 2011-02-05T17:27:50.013 回答
2

你不能做跨站 XMLHttpRequests并且需要使用代理来完成它。

雅虎的这篇文章详细解释了它,并提供了更多关于如何解决它的想法。但基本上不应该这样做,因为这个限制是出于安全目的而存在的。

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

于 2011-02-05T17:31:48.733 回答
1

这是您的浏览器对跨端脚本的保护。您不能访问来自不同域的其他页面。

编辑:还要检查这个:跨站点 XMLHttpRequest

于 2011-02-05T17:27:43.167 回答