启用CORS后仍会出现重定向错误

时间:2017-06-21 03:37:28

标签: javascript node.js express redirect

当条件不匹配时,我正在尝试将控制切换到具有路径 / getProfile 的另一条路线(不是下一条路线)。为此,我正在使用res.redirect()

查询1:这是将控件从一个路由器传递到另一个路由器的正确方法吗?如果不是,我该怎么做?)

这是我服务器端JS的一些代码:

app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    next();
});

app.use('/getProfile', function (req, res, next) {
  var userName = req.session.userName;
  if(userName && userName != 'undefined'){
        console.log("if");
      next('route');
  } else {
    console.log("else");
    res.redirect("getProfile");
    next('route');
  }
});

app.post('/getProfile', function (req, res, next) {
    //do something
});

客户端代码:

$scope.getProfile = function(){
loggedInUser=$("input[name='email']").val();
 $http({
    method : "POST",
    url : "http://192.168.43.200:3000/getProfile",
    data: JSON.stringify({userName: loggedInUser}),
    headers: {'Content-Type': 'application/json'}
}).then(function mySuccess(response) {
    //do something
}, function myError(response) {
    //do something
});
}

但是当我从浏览器点击/ getProfile请求时出现以下错误:

XMLHttpRequest无法加载http://192.168.43.200:3000/getProfile。预检的响应无效(重定向)

查询2:我做错了什么?

查询3:传递(我不知道它叫什么,我已经在查询1中询问过)控制到另一条路由并重定向之间是否有任何区别?

注意:我在介绍app.use("*")重定向部分后才会出现上述错误。

请回答这些问题。我真的很困惑。

0 个答案:

没有答案
相关问题