2016-07-08 11 views
0

私はウィキペディアからのAPIエンドポイントをテストしていますが返されます。このチュートリアルでは、私が使用しているcoffeescriptの使用を提案しています。のRuby on RailsのAjax呼び出しは、CORSの問題

$.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」がありません)。

私はこの問題について調査し、ラック・コルサを試してから設定しましたが、これまでのところCORSの問題が発生しており、apiエンドポイントの結果を取得できません。誰も助けることができますか?

+0

あなたは混乱しています。あなたは「ルビーのレールでajaxコールを使用しています」とウィキペディアに電話していますか?それは意味をなさない、あなたはjavascript上の '起源'ヘッダーを設定することはできません。あなたがサーバーを制御している場合は、 'response-headers ['Access-Control-Allow-Origin'] = '*''を追加する必要があります。詳細を教えてください。 –

+0

私はwikipedia apiエンドポイントを使用しています。これを行うには、エンドポイントの結果を取得するためにajax呼び出しを実装してください。私は結果を得ることができないので、私はCORSの機能について読んできました。そしてRubyでこれを可能にする宝石の1つはRACK-CORSです。しかし、私はまだ何も得ていない。 – Arrivedacci

答えて

0

私はこのコードで私の問題を解決しました:

$.ajax 'https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=json', 
type: 'GET' 
dataType: 'jsonp' 
origin: 'https://www.mediawiki.org' 
success: (data, textStatus, jqXHR) -> 
    console.log(data) 

はJSONPを追加するには、私のためにそれをやったものでした。私はそれにフォーマットを置き換え、URLから応答を返しました。

関連する問題