Azure功能应用程序 - 不存在标头

时间:2016-08-14 12:40:20

标签: jquery azure azure-functions

我正在评估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本身就是提供的示例函数。

2 个答案:

答案 0 :(得分:1)

您需要在Azure App Service中启用CORS。详细信息和屏幕截图为here

答案 1 :(得分:0)

请注意,如果你要添加*,你必须删除所有其他允许来源类型,因为我已经成功地浪费了我3-4个小时从这里和那里添加localhost和所有,一切都失败了,没有任何工作最后我做了按照指示,我删除了所有允许原点,并在一小段时间内得到了输出。