- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
21小时前关门了。
Improve this question
我的Ionic项目上的CORS策略出现问题。我正在运行Node JS服务器,并且可以在localhost上与它通信。但是,在我的生产服务器上,尝试访问POST或GET方法时出现错误。
Access to XMLHttpRequest at 'http://***-api.el***.app:9890/api/get_auth_SMS' from origin 'http://localhost:8103' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
这是我的node js服务器上的api-config.js。
var express = require("express");
var app = express();
var path = require('path');
const mysql = require('mysql');
const jwt = require('jsonwebtoken');
var db = require('./database');
var dbfunc = require('./db-function');
var http = require('http')
var bodyParser = require('body-parser');
var UserRoute = require('../app/routes/user.route');
var AuthenticRoute = require('../app/routes/authentic.route');
var SecureUserRoute = require('../app/routes/secureUser.route');
var SecureRoute = require('../app/routes/secure.route');
var errorCode = require('../common/error-code')
var errorMessage = require('../common/error-methods')
var isAdmin = require('./secureRoute');
var isUser = require('./secureUserRoute');
var cors = require('cors');
dbfunc.connectionCheck.then((data) =>{
//console.log(data);
}).catch((err) => {
console.log(err);
});
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, token, user_id');
next();
});
app.use(cors());
app.use(bodyParser.json());
var router = express.Router();
app.use('/api',router);
AuthenticRoute.init(router);
// Code below...
我尝试了所有的cors,允许一切。但没有工作。我用axios。
有人能帮我吗?先谢谢你了。
1条答案
按热度按时间qc6wkl3g1#
由于您使用CORS,因此让cors执行所有设置并删除标头中间件,如果您以后需要使用凭据,则需要指定您想要允许的确切URL:
您可以在文档中阅读有关它的更多详细信息:https://github.com/expressjs/cors#usage