当条件不匹配时,我正在尝试将控制切换到具有路径 / 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("*")
和重定向部分后才会出现上述错误。
请回答这些问题。我真的很困惑。