heroku CORS策略已阻止从源'xxx'访问'xxx'处的XMLHttpRequest:请求中不存在“Access-Control-Allow-Origin”标头

ldioqlga  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(147)

我已经尝试了所有可能的设置,但仍然无法解决这个问题。我用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');
});
x8goxv8g

x8goxv8g1#

Try using this code right in between app.use(express.json()); and 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();
});

This should allow your server to send a response back to the client.

相关问题