API如何通过CORS策略来为多个应用程序提供服务?
创始人
2024-09-08 05:30:26
0

在CORS中,浏览器会首先发送一个OPTIONS请求,用于确定是否允许跨域请求。服务器返回的响应头需要包含Access-Control-Allow-Origin,允许的源列表。如果该值为"*",则允许来自所有源的请求。

以下是使用Node.js和Express框架实现CORS的示例代码:

const express = require("express");
const app = express();

// 添加CORS中间件
app.use((req, res, next) => {
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Methods",
    "GET, POST, OPTIONS, PUT, PATCH, DELETE"
  );
  res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
  res.setHeader("Access-Control-Allow-Credentials", true);
  if (req.method === "OPTIONS") {
    return res.sendStatus(204);
  }
  next();
});

// 处理API请求
app.get("/api/data", (req, res) => {
  res.json({ message: "API data response" });
});

// 启动服务器
app.listen(3000, () => {
  console.log("Server start at http://localhost:3000");
});

在上述代码中,使用了一个中间件添加了必要的CORS响应头,设置了允许的源、方法、请求头和是否允许携带认证信息。并在OPTIONS请求中返回204状态码。在使用API时,只需要使用正确的URL即可。例如在前端使用fetch请求:

fetch("http://localhost:3000/api/data")
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error))

此时就可以从API请求到数据并处理。

相关内容

热门资讯

2026外挂!雀友会广东潮汕麻... 2026外挂!雀友会广东潮汕麻将辅助软件,芒果辅助器(好像是有挂)1、用户打开应用后不用登录就可以直...
2026外挂!哈糖大菠萝辅助,... 2026外挂!哈糖大菠萝辅助,奇迹手游辅助脚本平台免费(一直真的有挂)1、奇迹手游辅助脚本平台免费脚...
2026外挂!辅助定制交易平台... 2026外挂!辅助定制交易平台,情怀破解(本来有挂)1、起透看视 辅助定制交易平台辅助软件价格2、随...
2026外挂!九酷众游软件,5... 2026外挂!九酷众游软件,510k中至余干辅助(原来真的是有挂)1、玩家可以在510k中至余干辅助...
2026外挂!极速官方游戏暗堡... 2026外挂!极速官方游戏暗堡辅助器,楚天游辅助(其实存在有挂)1、上手简单,内置详细流程视频教学,...
2026外挂!免费游戏辅助软件... 2026外挂!免费游戏辅助软件,如何设置钱塘十三水辅助器(切实是真的有挂)1、2026外挂!免费游戏...
2026外挂!雀姬辅助脚本,微... 2026外挂!雀姬辅助脚本,微乐游戏辅助脚本安装(切实有挂)2026外挂!雀姬辅助脚本,微乐游戏辅助...
2026外挂!飞驰娱乐软件科技... 2026外挂!飞驰娱乐软件科技,科乐填大坑辅助器(切实真的有挂)1、科乐填大坑辅助器免费辅助多个强度...
2026外挂!皮皮胡子辅助,天... 2026外挂!皮皮胡子辅助,天天贵阳破解版(原来是真的有挂)天天贵阳破解版是不是有人用挂微扑克wpk...
2026外挂!科技实测欢乐辅助... 2026外挂!科技实测欢乐辅助,丽水都莱辅助软件(都是是有挂)小薇(辅助器软件下载)致您一封信;亲爱...