Javascript 如何从按钮渲染node.js中的把手布局?
这是我遇到的一个非常奇怪的问题 我有一个登录表单,该登录表单验证您的数据,如果登录成功,则呈现配置文件布局;如果登录失败,则呈现注册页面Javascript 如何从按钮渲染node.js中的把手布局?,javascript,jquery,node.js,express,handlebars.js,Javascript,Jquery,Node.js,Express,Handlebars.js,这是我遇到的一个非常奇怪的问题 我有一个登录表单,该登录表单验证您的数据,如果登录成功,则呈现配置文件布局;如果登录失败,则呈现注册页面 exports.logIn = function (req, res, data) { var username = req.body.username.toString(); var password = req.body.password.toString(); connection.connection(); global.connect
exports.logIn = function (req, res, data) {
var username = req.body.username.toString();
var password = req.body.password.toString();
connection.connection();
global.connection.query('SELECT * FROM Utilizador WHERE Nome_Utilizador = ? LIMIT 1', [username], function (err, result) {
if (result.length > 0) {
if (result) {
var object = JSON.parse(JSON.stringify(result));
var userObject = object[0];
var userQ = object[0].Nome_Utilizador;
global.connection.query('SELECT Password_Utilizador from Utilizador where Nome_Utilizador = ?', [username], function (err, result) {
console.log(result);
if (result.length > 0) {
if (result) {
var object2 = JSON.parse(JSON.stringify(result));
var passQ = object[0].Password_Utilizador;
if (password == passQ) {
console.log("Login efectuado com sucesso");
console.log(userObject);
res.render('home', { title: 'perfil', layout: 'perfil', data: userObject });
} else {
console.log("1");
}
}
} else if (err) {
console.log("asdsadas");
} else {
console.log("2");
res.render('home', { title: 'perfil', layout: 'registo' });
}
});
}
} else if (err) {
console.log(err);
} else {
console.log("Utilizador nao encontrado");
res.render('home', { title: 'perfil', layout: 'registo' });
}
});
};
这很有效
它之所以能起作用,唯一的原因是因为它来自一个有方法和动作的形式
<form id="login-nav" action="/login" method='POST' role="form" accept-charset="UTF-8" class="form">
<div class="form-group">
<label for="username" class="sr-only">Utilizador</label>
<input id="username" type="username" placeholder="Nome de utilizador" required="" class="form-control" name="username">
</div>
<div class="form-group">
<label for="exampleInputPassword2" class="sr-only">Palavra-Passe</label>
<input id="password" type="password" placeholder="Meta a palavra-passe" required="" class="form-control" name="password">
</div>
<div class="checkbox">
<label></label>
<input type="checkbox">Gravar Dados
</div>
<div class="form-group">
<button id="botaoLogin" class="btn btn-danger btn-block">Fazer Login</button>
</div>
</form>
尽管这个问题很有效,并且给了我我所要求的答案
exports.Pacote = function (req, res) {
var pacote = req.query.idPacote;
connection.connection();
global.connection.query('SELECT * FROM Pacotes WHERE idPacotes = ? ', [pacote], function (err, result) {
if (result.length > 0) {
if (result) {
var object = JSON.parse(JSON.stringify(result));
var packObject = object[0];
console.log(result);
res.render('home', { title: 'pacote', layout: 'pacote', data: packObject });
} else if (err) {
console.log(err);
}
};
});
}
它根本不呈现布局,我也不知道为什么。
像这样做POST请求与通过表单进行POST请求有什么区别
我不明白为什么这似乎只适用于表单。
我可以这样解决,但我不认为对所有按钮使用空表单是可行的解决方案。您只是在发出请求,而不是在处理返回值:
$.get(“http://localhost:3000/pacote?idPacote=“+prod)代码>
尝试更改为以下内容:
$.ajax({
方法:“GET”,
url:“http://localhost:3000/pacote?idPacote=“+prod,
成功:函数(…){…}
});代码>
exports.Pacote = function (req, res) {
var pacote = req.query.idPacote;
connection.connection();
global.connection.query('SELECT * FROM Pacotes WHERE idPacotes = ? ', [pacote], function (err, result) {
if (result.length > 0) {
if (result) {
var object = JSON.parse(JSON.stringify(result));
var packObject = object[0];
console.log(result);
res.render('home', { title: 'pacote', layout: 'pacote', data: packObject });
} else if (err) {
console.log(err);
}
};
});
}