res.redirect('url')错误跨域

时间:2015-02-25 04:27:01

标签: javascript node.js express

我正在进行跨域请求(客户端和服务器端)。 在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进行路由,但我希望这可以在服务器端实现。帮助!!

0 个答案:

没有答案