You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Azure Function API时遇CORS错误,需修改API的index.ts吗?

解决Azure Function API的React跨域CORS问题

问题翻译

我按照微软官方教程创建了Azure Function API,但在React应用中使用axios.post(url, postData)向其提交数据时,出现了CORS错误。请问我需要修改API文件夹中的index.ts文件吗?

解答

不需要直接修改index.ts文件来解决这个CORS问题,Azure Function有更标准的处理方式:

  • 优先用Azure门户配置(推荐)
    登录Azure门户,找到你的Function App,进入「API」菜单下的「CORS」页面,把React应用的域名(本地开发一般是http://localhost:3000,生产环境填正式域名)添加到「允许的来源」列表,保存后即可生效。这种方式无需改动代码,是官方推荐的跨域配置方案。

  • 特殊场景下的代码级处理
    如果需要动态控制允许的来源,可以在index.ts中手动添加CORS响应头,同时处理浏览器发送的OPTIONS预检请求,示例代码如下:

import { AzureFunction, Context, HttpRequest } from "@azure/functions";

const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
    // 配置CORS响应头
    context.res.headers = {
        ...context.res.headers,
        'Access-Control-Allow-Origin': 'http://localhost:3000', // 替换为你的React应用域名
        'Access-Control-Allow-Methods': 'POST, OPTIONS',
        'Access-Control-Allow-Headers': 'Content-Type'
    };

    // 处理OPTIONS预检请求
    if (req.method === 'OPTIONS') {
        context.res.status = 200;
        return;
    }

    // 这里写原本的业务逻辑代码
    // ...
};

export default httpTrigger;

不过这种方式需要为每个Function单独配置,维护成本比门户配置高,只适合有特殊动态跨域需求的场景。

内容的提问来源于stack exchange,提问作者Atharane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 20:50:26