我的发帖请求突然中断了,我似乎找不到该问题。在发布表单中,console.log正确返回UserID,但在函数内,console.log返回Undefined。
发布表格:
=IF(EndDate<DATE(YEAR(EndDate), 7,1),CONCATENATE(YEAR(EndDate)-1, "-", YEAR(EndDate)), CONCATENATE(YEAR(EndDate), "-", YEAR(EndDate)+1))
功能:
app.post("/loadTransactions", function(req, res, Data) {
console.log(req.body.UserID)
transactions.loadTransactions(req.body.UserID, function(label) {
Data = label;
res.send({message: Data});
})
})
客户端:
loadTransactions({ UserID }, callback){
console.log({UserID})
var sql = `SELECT * FROM MyTable WHERE UserID = ${UserID}`
var label
database.Query(sql, function(result){
label = result[0];
callback(label)
});
}
答案 0 :(得分:1)
在函数中,您正在从参数中破坏UserId
,因此您需要传递一个具有UserId
属性的对象,也可以选择不对其进行破坏,而只接收UserId
。
让我们看一个更简单,可行的示例:
// similarly to your post form
function first(a) {
console.log(a); // { b: 1 };
second(a);
}
// similarly to your loadTransactions
function second({ b }) {
console.log(b); // 1;
return b + 1;
}
这是您当前正在做的事情:
// similarly to your post form
function first(a) {
console.log(a); // { b: 1 };
second(a.b);
}
// similarly to your loadTransactions
function second({ b }) { // this tried to load a.b.b
console.log(b); // undefined;
return b + 1;
}
如前所述,另一种解决方案是根本不破坏结构:
// similarly to your post form
function first(a) {
console.log(a); // { b: 1 };
second(a.b);
}
// similarly to your loadTransactions
function second(b) {
console.log(b); // 1;
return b + 1;
}