我试图在angular.js中创建一个应用程序,允许根据提供的单词在mediawiki中执行搜索。我已经使用自耕农来scafold我的应用程序,并使用' grunt serve'在本地服务器上运行它。但无论我尝试什么,我都会在chrome中获取有关crossorigin请求的错误,例如:
XMLHttpRequest无法加载http://en.wikipedia.org/w/api.php。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。因此,不允许原始
'http://localhost:9000'
访问。
我试图设置' origin'我对localhost地址的请求标题,但它确实在firefox中没有帮助,并且chrome拒绝在控制台中设置此标头抛出消息,这是不安全的。
答案 0 :(得分:0)
这是一个CORS问题。
在这种情况下,这意味着您需要管理正在调用API.php的托管Wiki。
您的错误表明您正在尝试调用Wikipedia而不是您自己的MediaWiki实例。
在您的代码中编辑API的URL,或者更好地在此处共享代码,以便大家可以看到您的真实问题。
如果您要使用不同的主机和域,则需要在api.php
所在的主机MediaWiki上启用CORS。