2012-02-15 19 views
1

私は、次のアクションでのRailsアプリを持っている:予測不可能なアクセス制御 - 許可 - 起源行動

def some_action 

    headers['Access-Control-Allow-Origin'] = 'http://www.example.com' 
    headers['Access-Control-Request-Method'] = 'GET' 
    headers['Access-Control-Max-Age'] = '1728000' 

    n = Model.getNumber 
    render :json => {:count => n} 
end 

私はそのアクションに$.getJSONを行いexample.com上のいくつかのjQueryを持っています。不思議なことに、その動作は完全に予測できません。これらのGET要求を数秒ごとに実行すると、その約50%が恐怖の「Origin http://www.example.comがAccess-Control-Allow-Originによって許可されていません」というメッセージで失敗します。

私は本当に100%の時間を仕事や時間の100%に失敗するか、それを期待しているだろう。なぜ、同じブラウザから離れて複数の要求に渡って異なる動作をしますか?

編集:私は、そのアクションをキャッシュしています...それは何の違いを作るかどうかわかりません。

+0

失敗した要求と後続の要求でヘッダーが同じですか? – abraham

+0

要求ヘッダーは...応答ヘッダーはありません。 – Larsenal

+0

私にはキャッシングの問題のように聞こえます。 HTMLキャッシュを使用している場合は、ヘッダーが削除されている可能性があります。また、コード内のデータをキャッシュする場合は、ヘッダーが確実に追加されるようにしてください。 – abraham

答えて

3

私にはキャッシングの問題のようです。 HTMLキャッシュを使用している場合は、ヘッダーが削除されている可能性があります。また、コード内のデータをキャッシュする場合は、ヘッダーが確実に追加されるようにしてください。

+0

アクションキャッシュを削除すると問題が解決しました。 – Larsenal

+0

それを聞いてうれしいです。 – abraham

関連する問題