2012-02-15 18 views
1

我有一個Rails應用程序具有以下作用:在example.com不可預知的訪問控制允許來源的行爲

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 

我有一些jQuery的是對行動做了$.getJSON。奇怪的是,這種行爲是完全不可預測的。每隔幾秒運行一次GET請求,其中大約50%會因可怕的「Origin http://www.example.com」不被Access-Control-Allow-Origin「消息而失敗。

我真的會預料它要麼100%的時間工作,要麼100%的時間失敗。爲什麼它會在多個請求中表現不同,從相同的瀏覽器除外?

編輯:我正在緩存該操作...不知道這是否有任何區別。

+0

對於失敗和成功的請求,標頭是否相同? – abraham 2012-02-15 20:57:43

+0

請求標頭是......響應標頭不是。 – Larsenal 2012-02-15 20:59:05

+0

這聽起來像是一個緩存問題。如果您使用的是HTML緩存,則可能會丟棄標題,或者如果您要在代碼中緩存數據,請確保無論如何都會添加標題。 – abraham 2012-02-15 21:02:32

回答

3

這聽起來像是一個緩存問題。如果您使用的是HTML緩存,則可能會丟棄標題,或者如果您要在代碼中緩存數據,請確保無論如何都會添加標題。

+0

刪除操作緩存解決了問題。 – Larsenal 2012-02-16 02:17:10

+0

很高興聽到它。 – abraham 2012-02-16 05:39:03

相關問題