2017-06-15 50 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

允许的方法:选择所有的方法。

允许的头:*

露出头:*

相关问题