2017-06-15 51 views
0

我在Azure上有一個無服務器功能,用Javascript編寫,返回一些HTML和前端JS。 JS應該訪問遠程託管的Blob文件。現在,它會拋出CORS錯誤。即使我已將Access-Control-Allow-Origin添加到標題中:Azure無服務器功能 - 在響應頭中啓用CORS

headers: { 
         'Content-Type': 'text/html', 
         'Access-Control-Allow-Origin': '*' 
         'Access-Control-Allow-Origin': 'https://tif.azurewebsites.net', 
         'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE', 
         'Access-Control-Allow-Credentials':'true', 
         'Access-Control-Allow-Headers': 'X-Requested-With,content-type', 
         'Access-Control-Allow-Headers' : 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers' 
         } 

Content-Type標頭完美地工作。

我在這裏做錯了什麼?

+2

你有沒有設置Blob存儲的CORS設置?由於JS從Blob存儲中訪問blob,我相信你需要設置CORS for Storage。 –

+0

謝謝,夥計,這是有道理的。我應該添加「允許的標題」和「暴露的標題」? –

+1

只需用'*'繼續「允許的標題」和「暴露的標題」即可。 –

回答

1

正如評論中所述,由於您的JS代碼正在訪問Blob存儲,您需要配置Blob存儲的CORS設置。配置CORS設置時,請確保所有設置都正確。設置中的輕微不匹配會導致Storage Service返回403錯誤。

根據您的環境,這裏就是我會建議:

允許起源https://tif.azurewebsites.net

允許的方法:選擇所有的方法。

允許的頭:*

露出頭:*

相關問題