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请求到数据并处理。

相关内容

热门资讯

推荐攻略(aapokEr)外挂... 推荐攻略(aapokEr)外挂透明挂辅助APP(透视辅助)原来真的有挂(2020已更新)(抖音)该软...
一分钟带你了解(aapokEr... 一分钟带你了解(aapokEr)外挂透明挂辅助黑科技(软件透明挂)好像真的有挂(2025已更新)(百...
一起来探讨(AAPoker)外... 一起来探讨(AAPoker)外挂透明挂辅助挂(透视辅助)好像真的有挂(2020已更新)(微博热搜)1...
一分钟揭秘(aApoker)外... 一分钟揭秘(aApoker)外挂透明挂辅助器(智能ai代打)就是真的有挂(2022已更新)(哔哩哔哩...
盘点几款(wEpOke)外挂透... 盘点几款(wEpOke)外挂透明挂辅助挂(辅助挂)果真真的有挂(2021已更新)(抖音)运辅助工具,...
每日必看推荐(轰趴大菠萝)外挂... 每日必看推荐(轰趴大菠萝)外挂透明挂辅助工具(透视)好像真的有挂(2020已更新)(抖音);1、系统...
六分钟了解(x-poker)外... 六分钟了解(x-poker)外挂透明挂辅助挂(透视辅助)就是真的有挂(2023已更新)(知乎)1、许...
揭秘一下(扑克世界)外挂透明挂... 揭秘一下(扑克世界)外挂透明挂辅助软件(软件透明挂)一般真的有挂(2023已更新)(百度);1、系统...
终于清楚(推扑克)外挂透明挂辅... 终于清楚(推扑克)外挂透明挂辅助app(辅助挂)的确是有挂的(2025已更新)(头条)1、起透看视 ...
总算清楚(WepOke)外挂透... 总算清楚(WepOke)外挂透明挂辅助工具(智能ai代打)果然真的有挂(2020已更新)(微博热搜)...