データを別のドメインに POST し、アクションによって返された確認メッセージを受け取りたいです。したがって、CORS を機能させるために、Rails コントローラーで OPTION HTTP メソッド (POST と同じパス上) を処理するためのオプション アクションを用意しました。これは現在次のようになっています。
def options
headers['Access-Control-Allow-Origin'] = "*"
headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, OPTIONS'
headers['Access-Control-Max-Age'] = '100'
headers['Access-Control-Allow-Headers'] = '*, x-requested-with, content-type, accept, origin, referer, user-agent'
render :text => '', :content_type => 'text/plain'
end
私のjquery ajaxリクエストは次のようになります:(coffeescript)
$.ajax
type: 'POST'
url: 'http://my-other-domain.com/'
data: data
contentType: "application/json; charset=UTF-8"
crossDomain: true
success: (response) =>
if response.data_saved
...
error: () => ...
しかし...うまくいきません。
OPTIONS リクエストは機能しているようAccess-Control-Allow-Origin:*
で、サーバーは POST されたデータを受信して処理しますが、Chrome は引き続きスローします
XMLHttpRequest cannot load http://my-other-domain.com/. Origin http://my-main-domain.com is not allowed by Access-Control-Allow-Origin.
コンソールで、エラー コールバックを起動します。
私は何が欠けていますか?