gpt4 book ai didi

javascript - 如何在快速应用程序中使用纯 JavaScript 进行重定向

转载 作者:搜寻专家 更新时间:2023-11-01 00:31:15 25 4
gpt4 key购买 nike

我有一个 node.js/express/mysql/angular.js 应用程序,我试图在用户登录后在服务器端重定向用户。这是服务器端 Controller ,我不知道如何将用户重定向到另一个页面。我试过 res.render、res.redirect、window.location.href 都没有成功。我遇到的 res.render() 错误是“没有指定默认引擎,也没有提供扩展。” window.location.href 表示窗口未定义。 res.redirect() 允许我 console.log 我也想定向的页面的 html。非常感谢任何帮助,谢谢!

   var Query = require('./../models/query.js');

module.exports = (function(){
return {
show: function(req,res) {
req.getConnection(function(err,connection){
connection.query('SELECT * FROM users',function(err,rows){
res.json(rows);
});
});
},
add: function(req,res){
var newUser = {
first_name: req.body.first_name,
last_name: req.body.last_name,
email: req.body.email,
password: req.body.password,
created_at: req.body.created_at
};

var table = "users";

Query.insert(req,newUser,table,function(err,results){

if(err) return res.json(err);

Query.find(req,table,function(err,results){
if(err) return res.json(err);

res.json(results);
});
});
},
login: function(req,res) {
var input = req.body;
console.log("got here", input);

req.getConnection(function(req, connection) {
// console.log("got connections",connection);
connection.query('SELECT * FROM users WHERE email = ?',input.email, function(err, rows) {
if (err) {
console.log("User doesn't exist: %s", err);
res.redirect('/', { data:"failed"});
} else {
if (input.password == rows[0].password) {
console.log("User password is matched");

*** success redirect right here ****
res.redirect('/static/taxonomer'+'.html');

} else {
console.log("failed here", rows[0].password);
res.redirect( '/', { data:"failed"});
}
}
});
});
}
};
})();

最佳答案

在没有看到您的路线的情况下,我猜测上述 Controller 上的登录方法对应于 POST 路线。例如,

app.post('some/login/route', theAboveController.login)

因此,重定向是在客户端控制的。

因此,进行以下更改:

1) 使用 res.send 将重定向 url 作为字符串发送到客户端。例如,

res.send('/static/taxonomer'+'.html')

2) 然后在客户端的成功回调中,将位置更改为您从 res.send 方法收到的 url。例如,

$http.post('/some/login/route', data).then(function(response) {
$window.location.href = response;
}, errorCallback);

关于javascript - 如何在快速应用程序中使用纯 JavaScript 进行重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com