我正在评估Azure Functions。为了做到这一点,我有一个在localhost上运行的网页。我想使用JQuery调用Azure函数并显示结果。为了做到这一点,我有以下HTML:
<button onclick="return onTestClick();">Test</button>
...
<script type="text/javascript">
function onTestClick() {
$.ajax({
url: "https://[my-function-app].azurewebsites.net/api/[My-Function]?code=[myCode]&name=bill",
success: function(result){
console.log(result);
},
error: function(xhr, status, err) {
console.log(status);
console.log(err);
console.log(xhr);
}
});
return false;
}
</script>
单击按钮时,会触发error
事件处理程序。在控制台窗口中,我可以看到以下错误:
XMLHttpRequest无法加载 https://[my-function-app].azurewebsites.net/api/[My-Function[?code=[myCode]&name=bill。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://localhost:3000” 访问。
我的问题是,如何从在localhost上运行的jQuery调用Azure函数? Azure Function本身就是提供的示例函数。
答案 0 :(得分:1)
您需要在Azure App Service中启用CORS。详细信息和屏幕截图为here。
答案 1 :(得分:0)
请注意,如果你要添加*,你必须删除所有其他允许来源类型,因为我已经成功地浪费了我3-4个小时从这里和那里添加localhost和所有,一切都失败了,没有任何工作最后我做了按照指示,我删除了所有允许原点,并在一小段时间内得到了输出。