MediaWiki API and Access-Control-Allow-Origin



我试图用角度制作一个应用程序.js这将允许根据提供的单词在mediawiki中执行搜索。我已经使用 yeoman 来折叠我的应用程序,并使用"grunt serve"在本地服务器上运行它。但是,无论我尝试什么,我都会收到有关跨域请求的错误,例如在 chrome 中:

XMLHttpRequest 无法加载 http://en.wikipedia.org/w/api.php。请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源'http://localhost:9000'

我试图设置我对本地主机地址的请求的"origin"标头,但它在 Firefox 中没有帮助,Chrome 甚至拒绝设置此标头,在控制台中抛出消息说这是不安全的。

这是一个 CORS 问题。

在这种情况下,这意味着您需要管理正在调用 API.php 的托管 wiki。

您的错误表明您正在尝试调用维基百科,而不是您自己的MediaWiki实例。

在代码中编辑 API 的 URL,或者最好还是在这里共享代码,以便人们可以看到您的真正问题。

如果您要使用不同的主机和域,则需要在api.php所在的主机MediaWiki上启用CORS。

相关内容

最新更新