[英]Why am I suddenly getting a “No 'Access-Control-Allow-Origin' header is present” error on my website?
我在我的 DigitalOcean 服务器中创建服务器块,以便我可以从同一个 droplet 托管两个网站,我想我让它工作了,但网站坏了。 我在 VSCode 中打开我的代码并使用 npm start 和 nodemon 运行它,当我尝试从 Pokeapi 中提取数据时出现此错误:
Access to XMLHttpRequest at ' https://pokeapi.co/api/v2/pokemon/charizard/ ' from origin ' http://localhost:3000 ' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header 存在于请求的资源上。
这与我在实时网站上遇到的错误相同。 我花了最后几个小时试图弄清楚我能做什么无济于事。 我想知道这是 Pokeapi 的问题还是我的问题,因为我用手机访问了该网站,它运行良好。 我真的很沮丧,因为我需要找到一份工作,而且我认为没有人愿意在网站损坏的情况下雇用我。 如果有人想查看我的部分代码,我会展示它。 任何帮助深表感谢。
在 Kasey Chang 的帮助下,我找到了解决办法。 这是我的服务器文件顶部在修复之前的样子:
require('dotenv').config();
const {CONNECTION_STRING, SESSION_SECRET, SERVER_PORT} = process.env;
const express = require('express');
const app = express();
app.use(express.json());
const massive = require('massive');
const session = require('express-session');
我创建了自己的代理,所以现在看起来像这样:
require('dotenv').config();
const {CONNECTION_STRING, SESSION_SECRET, SERVER_PORT} = process.env;
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
next();
});
app.use(express.json());
const massive = require('massive');
const session = require('express-session');
现在我的网站又可以工作了。 我希望这可以帮助遇到同样问题的任何人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.