2014-07-16 33 views
3

我正在做一個CORS請求(從角度資源),它執行預檢OPTIONS調用。我有自定義標題行,我想這就是爲什麼它被調用。CORS GET自定義標題:是否有可能擺脫選項

但是我漫步,如果我可以設置的東西,使自定義標題(我們稱之爲X-Auth-Token)不生成OPTIONS請求?或者它是爲任何自定義標題設置石頭行爲?

OPTION請求觸發服務器上的一些事務,我想擺脫這一點。

回答

5

如果您的要求定製請求頭,然後是的,它是在石頭的行爲一組,你必須有一個預檢要求。但是,如果您可以擺脫自定義標題,則可以消除預檢。一種方法是將X-Auth-Token標頭移到其他地方,例如查詢參數。這個問題討論瞭如何減少預檢請求:How to apply CORS preflight cache to an entire domain

另請注意,OPTIONS請求應該是冪等的。如果您的OPTIONS請求也在服務器上更改狀態,我會考慮以正確的方式修復此問題並支持預檢請求。 Web上的任何用戶都可以觸發對任何服務器的預檢請求,因此您應該確保您的服務器受到保護。

2

無法發表評論,所以我會後作爲anwser:

你應該看看一個this question。您可以使用白名單功能的強制選項關閉:

myApp.config(['$sceDelegateProvider', function($sceDelegateProvider) { 
    $sceDelegateProvider.resourceUrlWhitelist(['self', 'http://mhnystatic.s3.amazonaws.com/**', 'http://mhnystatic2.s3.amazonaws.com/**']); 
}]) 
+0

試圖這樣做,但他們不斷出現... –

相關問題