2017-08-17 51 views
0

我想使用帶有跨域的fineuploader。 我收到Request header field Cache-Control is not allowed by Access-Control-Allow-Headers in preflight response.錯誤。使用fineuploader的CORS

我fineuploader配置爲:

 request: { 
      endpoint: "http://api.polskieszlaki.local/4adm/zdjecia/fileupload", 
     }, 
     cors: { 
      expected: true, 
     }, 

在我的Apache服務器.htaccess

Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE" 
Header set Access-Control-Allow-Headers "Content-Type, Authorization" 

RewriteEngine On 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

我沒有firther想法,使其工作。

+1

只是一個說明,你真的不應該使用'標題集訪問控制 - 允許來源「*」'這是一個安全噩夢。而不是使用'*'指定你想允許的,而不是允許訪問所有內容。 – Lag

回答

1

在問題中引用的消息,表示你必須改變你.htaccessCache-Control在爲Access-Control-Allow-Headers響應頭設置的值,因爲the Fine Uploader docs表明它發出的X-Requested-With標題,然後乾脆你需要:

Header set Access-Control-Allow-Headers "Cache-Control, Content-Type, Authorization, X-Requested-With" 

MDN docs for the Access-Control-Allow-Headers response header解釋:

Access-Control-Allow-Headers的報頭是響應用於預檢請求以指示哪些HTTP標頭可以是使用d進行實際請求時。

+0

謝謝,幾乎沒有工作。我需要:'標頭集訪問控制 - 允許頭部「緩存控制,內容類型,授權,X請求 - 」請求編輯anwser - 我會標記它正確 – piernik

+0

@piernik行,更新(與解釋爲什麼還需要添加'X-Requested-With') – sideshowbarker