我正在 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 文件中,但它没有解决问题。
试试这个,这可能有用
在您的 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');
});
httpd.conf
。从 Apache 中删除 Header set Access-Control-Allow-Origin "*"
指令
配置。确保您的 API 服务器正在运行并且可以从本地主机访问,并且您在 JavaScript 代码中使用的
api_url
指向正确的 API 端点。
这些步骤应该可以解决您面临的跨域问题。
#阿帕奇时代