0
私は解決できない問題を抱えています。私はSOや他のどこかで不幸にも関連する解決策を見つけることができません。ただ1つのセッション変数が定義されていません
基本的には、データ付きの3つの配列をクライアントのJavascriptに送信したいだけです。その2つの配列のための正常に動作しますが、私はブラウザでページをリフレッシュするときに3番目の空が空になり、私はなぜか分かりません。
heres関連コード;
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に配列を送信するコードをHeresします。
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');
}
});
これについては解決策が見つかりません。私は文字通りすべてを試みましたが、私はこのエラーが発生し続けます。 詳細な解決方法が高く評価されています。私の完全なコードは総でたらめである場合
それは、バックエンドのWeb開発に関する私の最初の試みですが、あまりにも難しいことではありません^^事前に
感謝。
コードがありませんか?私はあなたがキー "Bezeichnung" –
theres多くのコードが不足している設定して表示されません。これは問題に関連していません。私は関連するコードだけを入れました。 "data.Items [0] .Bezeichnung"はダイナモデータベースのデータです。 – tipsfedora