所以我正在尝试对我的数据库进行基本查询,并使用JQuery拉回一个值。
JQuery代码:
return driver.wait(until.elementLocated(bySelector), 500, 'not found').then((element) => {
return driver.wait(until.elementIsVisible(element), 5000, 'not found');
});
节点:
function getTokens(user, cb) {
$.post("/getTokens", {username: user}, function(data) {
return cb(data);
});
}
我想将返回的值存储在字符串中。在回调函数中,如果我是console.log或者警告'tokens'参数它会正确地显示它,但是如果我像下面那样返回它,那么当我将它应用到#username_field时,'tokens'是未定义的。像这样:
app.post('/getTokens', function(req, res) {
connection.query('select tokens from users where username = "' + req.body.username + '"', function(err, rows, fields) {
if (err)
console.error(err)
else {
res.send(rows[0].tokens.toString());
}
});
});
如果有人可以帮助我将返回值“令牌”放到我的#username_field上,这将是非常棒的。任何建议都会有所帮助,这让我感到疯狂,因为它一直未定义。
答案 0 :(得分:0)
节点部分看起来很好。
这样做是为了你的前端。摆脱返回和变量,你不需要:
getTokens(username, function(tokens){
$('#username_field').text('Tokens: ' + tokens);
});
Fyi,您的代码错误地使用了变量。 jquery部分将使用totalTokens,而不是令牌。