Javascript &引用;“被CORS政策阻止”;尝试使用expressJS重定向时
我在尝试使用ExpressJS重定向时遇到了一个问题,我创建了一个登录系统,该系统会收到一个post请求,如果用户存在,那么页面应该重定向,但是Cors会阻止它 请求如下:Javascript &引用;“被CORS政策阻止”;尝试使用expressJS重定向时,javascript,express,Javascript,Express,我在尝试使用ExpressJS重定向时遇到了一个问题,我创建了一个登录系统,该系统会收到一个post请求,如果用户存在,那么页面应该重定向,但是Cors会阻止它 请求如下: router.post('/login', async (req, res) => { try{ let usersData = await getFiles(__dirname + '/users.json'); let parsedUsers = JSON.parse
router.post('/login', async (req, res) => {
try{
let usersData = await getFiles(__dirname + '/users.json');
let parsedUsers = JSON.parse(usersData);
let userChecker;
for(let i = 0; i < parsedUsers.length; i++){
if(parsedUsers[i].userName === req.body.userName){
userChecker = 1;
break;
}
}
if(!userChecker){
console.log(`${req.body.userName} Not exist`);}
else {
console.log(`${req.body.userName} Approved`);
res.redirect('/')
}
}
catch (err) {
if(err) throw err
};
})
谁能告诉我cors有什么问题吗?这是因为cors(跨源资源共享)在您的项目中还不允许。您可以为此安装软件包
npm install cors
那么这样做,
app.use(cors()) // It will enable all cors requests
就这样。你现在可以走了。这是处理cors的最简单方法。为此,您需要从服务器发送一些标头,以便浏览器知道允许访问该域。 您可以试试这个
手动标题
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PATCH, DELETE, OPTIONS');
next();
});
// your code
router.post('/login', async (req, res) => {
});
//run this command for install the cors module
npm install cors // install the cors
// use it in your code
app.use(cors()) // will enable cors
// your code
router.post('/login', async (req, res) => {
});
Cors npm模块:app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PATCH, DELETE, OPTIONS');
next();
});
// your code
router.post('/login', async (req, res) => {
});
//run this command for install the cors module
npm install cors // install the cors
// use it in your code
app.use(cors()) // will enable cors
// your code
router.post('/login', async (req, res) => {
});
实际上,我的应用程序在主页上使用cors。也许我必须将其添加到用户路由器文件中?@SahiBalata我认为您的主页即索引文件应该足够了。这还不够,仍然阻止请求。我认为我遇到了问题。。。我应该添加“访问控制允许来源”。。。但是我不知道如何添加语法以及在哪里…@SahiBalata我认为这是cors应该做的。检查已安装cors的更多信息,并在索引页添加“``app.use(cors())```”。我应该把它放在路由器页面吗?“/login”帖子来自另一个名为users.js的文件,我使用的是express router。在我的主文件“index.js”中,我添加了“app.use(cors())”。我要问的是我是否应该将router.use(cors())添加到users.js文件中?