Access-Control-Allow-Origin 不允许 LocalHost http 响应来源

问题描述 投票:0回答:1

我正在 MacO 上进行一些基本的 javascript/html 开发,并请求 API 来填充某些字段,但出现以下错误。

我正在运行服务器版本:Apache/2.4.56 (Unix) 作为 Web 服务器。

Access-Control-Allow-Origin 不允许

Origin http://127.0.0.1。状态代码:200

JS 拉取 API 并填充

function loadHITS() {

  fetch(api_url)
  .then((res) => res.json())
  .then((data) => {
      console.log(data);
      document.getElementById('Count').innerHTML = data;
  });
  
}

我尝试将其添加到我的 httpd.conf 文件中,但它没有解决问题。

... 标头设置 Access-Control-Allow-Origin "*" ...

javascript apache cors localhost
1个回答
0
投票

试试这个,这可能有用

在您的 API 服务器代码中添加

Access-Control-Allow-Origin
标头以允许来自任何来源的请求,如下所示:

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

// Allow cross-origin requests
app.use((req, res, next) => {
    res.setHeader('Access-Control-Allow-Origin', '*');
    // Other headers and logic
    next();
});

// Handle API routes and responses
// ...

app.listen(3000, () => {
    console.log('API server is running on port 3000');
});
  1. 保留用于获取和填充数据的 sama JavaScript 代码,就像现在一样。
  2. 您无需针对此问题修改 Apache 服务器的
    httpd.conf
    。从 Apache 中删除 Header
    set Access-Control-Allow-Origin "*"
    指令 配置。

确保您的 API 服务器正在运行并且可以从本地主机访问,并且您在 JavaScript 代码中使用的

api_url
指向正确的 API 端点。

这些步骤应该可以解决您面临的跨域问题。

#阿帕奇时代

© www.soinside.com 2019 - 2024. All rights reserved.