我们在 vue.js 应用程序中使用 axios 来访问 Azure 函数。现在我们收到此错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:8080' is therefore not allowed access.
我们尝试以这种方式在函数中设置响应 header :
context.res = {
body: response.data,
headers: {
'Access-Control-Allow-Credentials': 'true',
'Access-Control-Allow-Origin': 'http://localhost:8080',
'Access-Control-Allow-Methods': 'GET',
'Access-Control-Request-Headers': 'X-Custom-Header'
}
}
有人遇到过这个错误吗?
最佳答案
要在不使用 CLI 并且使用 Visual Studio/VS Code 时设置 CORS 在本地工作 - 如果项目中不存在 local.settings.json 文件,则需要将其添加到项目中。
确保“直接复制到输出”设置为“如果较新则复制”
然后在“local.settings.json”中,您可以添加 CORS": "*"
如下所示:
{
"IsEncrypted": false,
"Values": {
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
}
}
更多信息: https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local
关于azure - 来自本地主机(而非 CLI)的具有 Azure 功能的 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767255/