0
我有一個問題,我無法解決,我不能找到任何相關的解決方案,因此或其他地方,不幸。只有一個會話變量undefined
基本上我只是想發送3數組與數據到客戶端的Javascript。它的2陣列工作正常,但第三個變空了,當我在瀏覽器刷新頁面,我不知道爲什麼。
繼承人的相關代碼;
app.post("/", function(req, res) {
ssn = req.session;
ssn.anlagen = [];
var Betreiber = {
TableName: "XXX",
KeyConditionExpression: "#usr = :user",
ExpressionAttributeNames: {
"#usr": "User",
},
ExpressionAttributeValues: {
":user": req.body.name
},
};
docClient.query(Betreiber, function(err, data) {
if (data.Count == 0 || req.body.passwort != data.Items[0].Passwort) {
res.render(__dirname + '/views/login', {text: "Der Nutzername oder das Passwort sind falsch! Bitte versuchen Sie es erneut."});
}
else if (req.body.passwort == data.Items[0].Passwort) {
anlagenarray = [];
ssn.user = data.Items[0].User; // WORKS FINE
ssn.admin = data.Items[0].Admin; // WORKS FINE
if (ssn.admin == false) { // Normal
for (var i = 0; i < data.Items[0].Anlagen.length; i++) {
ssn.ident = data.Items[0].Anlagen[Object.keys(data.Items[0].Anlagen)[i]];
var Anlagenbezeichnung = {
TableName: "SCR-Anlagen",
KeyConditionExpression: "#ident = :id",
ExpressionAttributeNames: {
"#ident": "Id",
},
ExpressionAttributeValues: {
":id": ssn.ident
},
};
docClient.query(Anlagenbezeichnung, function(err, data) {
ssn.anlagen = data.Items[0].Bezeichnung // this Variable gets "[]" after refresh
ssn.anlagen.sort();
});
}
}
繼承人代碼發送數組到客戶端JS;
app.post("/anlagen", function(req, res) {
if (ssn.user) {
res.send({
name: ssn.user, // WORKS
adminstatus: ssn.admin, // WORKS
bezeichnungen: ssn.anlagen // [] after Page refresh
});
}
else {
res.render(__dirname + '/views/login');
}
});
我只是找不到任何解決方案。我從字面上試了一切,但我一直得到這個錯誤。 高度讚賞詳細的解決方案。
這是我第一次嘗試在後端網絡的發展,不要太用力,如果我的完整代碼是總廢話^^
在此先感謝。
是否有代碼缺失?我沒有看到你在哪裏設置密鑰「Bezeichnung」 –
theres缺少很多代碼。這與問題無關。我只把相關的代碼。 「data.Items [0] .Bezeichnung」是來自發電機數據庫的數據。 – tipsfedora