Javascript 将参数传递给原型外部的函数
我正在使用Node.JS进行开发,我用JavaScript编写了以下函数:Javascript 将参数传递给原型外部的函数,javascript,node.js,Javascript,Node.js,我正在使用Node.JS进行开发,我用JavaScript编写了以下函数: MySqlBl.prototype.getUser = function (email, onGetUserCompleted, onGetUserError) { this.execQuery("CALL spGetUser('" + email + "')", onGetUserError, onDone); function onDone(rows) { if (t
MySqlBl.prototype.getUser = function (email, onGetUserCompleted, onGetUserError) {
this.execQuery("CALL spGetUser('" + email + "')", onGetUserError, onDone);
function onDone(rows) {
if (typeof rows[0][0] != 'undefined') {
var row = rows[0][0];
console.log('1: ', row.First_Name);
console.log('2: ', row.Last_Name);
getUserObject(row.User_ID, row.Email, row.First_Name, row.Last_Name);
}
}
};
function getUserObject(userID, email, firstName, lastName) {
console.log('3: ' + firstName);
console.log('4: ' + lastName);
}
我得到的结果是:
1: Lien
2: Dang
3: undefined
4: undefined
为什么不能正确发送行值?可能是范围问题。 如果您使用另一个类似以下的变量:
function onDone(rows) {
if (typeof rows[0][0] != 'undefined') {
var row = rows[0][0];
console.log('1: ', row.First_Name);
console.log('2: ', row.Last_Name);
var first = row.First_Name, last = row.Last_Name;
getUserObject(row.User_ID, row.Email,first, last);
}
}
这样行吗?(即使有效,也不是答案,最好继续寻找)。正如我所写:是的。我可以。你要传递的第五个参数是什么?行是什么类型的宿主对象?如果在
getUserObject
调用之后删除直接日志调用(1,2),它是否有效?您是否需要这些其他参数,如果忽略它们,行为是否会有所不同?可以安全地假设您无法记录正在传递的其他两个变量,对吗?“调用spGetUser(“+”email+“)”)”
看起来像是SQL注入危险。