我正在进行跨域请求(客户端和服务器端)。 在server.js我添加了此代码,跨域req工作正常
function setAcceptsHeader(req, res, next) {
'use strict';
res.setHeader('Access-Control-Allow-Origin', '*');
next();enter code here
}
app.options('*', function (req, res) {
'use strict';
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.status(200).end();
});
问题是当我在server.js中添加req.redirect()时,我得到了错误 XMLHttpRequest无法加载http://localhost:1214/#/about。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点'null'访问。
app.get('/users/:email',setAcceptsHeader, function (req, res) {
User.findOne({email:req.params.email}, function (err, post) {
if(!post){
res.json({error:'item not found'});
}
else{
res.redirect('http://localhost:1214/#/about');//not working for me
}
});
我知道在客户端我可以使用window.location进行路由,但我希望这可以在服务器端实现。帮助!!