【问题标题】:Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the request从源 \'xxx\' 访问 XMLHttpRequest 在 \'xxx\' 已被 CORS 策略阻止:请求中不存在 \'Access-Control-Allow-Origin\' 标头
【发布时间】:2022-09-27 09:50:27
【问题描述】:

我尝试了所有可能的设置,但仍然无法解决此问题。我使用 express nodejs 创建了我的服务器并将其部署在 Heroku 上。一切都在我的 localHost (服务器和客户端)上完美运行,但当服务器在 Heroku 上时却不行。

我在stackoverflow上查看了这个问题的所有答案,但我仍然无法解决它=\'(

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

mongoose.connect( process.env.MONGO_URL)
.then(() => {
    console.log(\'Connected to database!\');
})
.catch(() => {
    console.log(\'DB Connection failed!\');
    
});

app.use(cors({origin: true, credentials: true}));

app.use(express.json());
app.use(AUTH, authRoute);
app.use(USERS, userRoute);
app.use(PRODUCTS, productRoute);
app.use(CARTS, cartRoute);
app.use(ORDERS, orderRoute);
app.use(CHECKOUT, stripeRoute);

app.get(\'/\', (req, res) => {
    res.send(\'Hello to Greensai Updated!\');
});

app.listen(process.env.PORT || 5000, () => {
  console.log(\'Server started on port 5000\');
});

    标签: node.js express heroku


    【解决方案1】:

    尝试在 app.use(express.json()); 之间使用此代码和 app.use(AUTH, authRoute);

    app.use(function(req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
      next();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 2021-06-30
      • 2021-04-18
      • 2020-05-20
      • 2021-04-03
      • 2020-01-30
      • 2020-06-24
      相关资源
      最近更新 更多