2012-04-27 8 views
0

これは私のChromeのコンソールに表示されるエラーです。nginx、jquery - POST実行中にAccess-Control-Allow-Originエラーが発生する

XMLHttpRequestは{URL}をロードできません。 Origin {URL}は、Access-Control-Allow-Originによって許可されていません。

私はCORSのための私のnginxを設定しようとしました:

location/{ 
    if ($http_origin) { 
     add_header Access-Control-Allow-Origin *; 
     add_header Access-Control-Allow-Methods "GET,POST,OPTIONS"; 
    } 

しかし、それは助けていないようです。

jqueryの呼び出しは次のようになります。

var submissionData = '{"tweet_id":"'+tweet_id+'", "question_id":"'+question_id+'", '+choiceString+', "extra_passback":"'+extra_passback+'"}'; 
$.post("http://ec2[...].amazonaws.com/question/answer/", submissionData, function(data) {console.log("success");}); 

私は問題はjqueryのか、nginxのである場合にもわかりません。

+0

あなたでなければなりません[リンク](http://bionicspirit.com/blog/2011/03/24/cross-domain-requests.html)を見て、ああ、あなたのルートディレクトリにcrossdomain.xmlがありますか? –

答えて

3

this postに基づいて、私は(あなたが上記の質問で述べた2つに加えて)2つのヘッダを追加し、それが私の作品、jQueryのJSONのクロスドメインリクエストで:

add_header   Access-Control-Allow-Headers Content-Type; 
add_header   Access-Control-Max-Age   86400; 
関連する問題