【发布时间】:2016-11-10 15:10:53
【问题描述】:
我正在测试来自维基百科的 api 端点:
在 Ruby on Rails 上使用 Ajax 调用。本教程建议使用我正在使用的咖啡脚本。
$.ajax 'https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json',
type: 'GET'
format: 'json'
origin: 'https://www.mediawiki.org'
success: (data, textStatus, jqXHR) ->
console.log(data);
我得到的只是这个错误:
跨域请求被阻止:同源策略不允许读取位于https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。
我已经研究过这个问题并尝试了 rack-cors 然后配置它,但到目前为止,我仍然遇到 CORS 问题并且无法检索 api 端点结果。有人可以帮忙吗?
【问题讨论】:
-
我很困惑,您“在 ruby on rails 上使用 ajax 调用”并且您在调用 wikipedia?这没有任何意义,您不能在 javascript 上设置 'origin' 标头。如果您控制服务器,则需要在您的 ruby on rails 视图中添加
response.headers['Access-Control-Allow-Origin'] = '*'..除此之外..这不会起作用的朋友。给我详细信息,我会提供更多帮助 -
我正在尝试使用 wikipedia api 端点并为此执行此操作,我实现了一个 ajax 调用来检索端点的结果。我无法得到结果,所以我一直在阅读 CORS 功能,而在 Ruby 上允许这样做的宝石之一是 RACK-CORS。但是,我仍然没有得到任何东西。
标签: ajax ruby-on-rails-3 coffeescript wikipedia-api