[英]How I can take/save a js signup to my json file
嘿,我想問一個問題,如何將我的數據保存在 json 文件中,我想查看我的用戶的密碼和用戶名,我嘗試添加但我的 json 文件僅保存 1 個用戶數據,我想添加一個所有用戶。
js
var newusername = req.body.newusername;
newpassword = req.body.newpassword;
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
cap_letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
allchars = letters + cap_letters + numbers + ['_'];
goodusername = true;
for(let i of newusername){
if(!allchars.includes(i)){
goodusername = false;
}
}
if(goodusername){
db.list().then(keys => {
if(keys.includes(newusername)){
res.send("Username taken. ");
} else if(newusername == ""){
res.send("Please enter a username.");
} else if(newpassword == ""){
res.send("Please enter a password.")
} else{
db.set(newusername, newpassword).then(() => console.log(`New Account Created Username : ${newusername} || Pass : ${newpassword}`));
//////////////////////////////////// json code ///////////////////////////////////////
fs.writeFile('account.json', newusername, finished);
function finished(err){
console.log('all set.')
}
/////////////////////////////////////////////////////////////////////////////////////
res.cookie("loggedIn", "true")
res.cookie("username", newusername);
res.redirect("/");
}
});
} else{
res.send("Username can only contain alphanumeric characters and underscores.")
}
});```
問題是每次調用writeFile
時,文件之前的內容都會被刪除。
您要查找的 function 是fs.appendFile
// Overwrite file contents
fs.writeFile('account.json', newusername, finished);
// Add to file contents
fs.appendFile('account.json', newusername, finished);
編輯:獎金提示
這是設置字符和數字 arrays 的好方法。 本例中的小寫字母:
const alphabet = [...'abcdefghijklmnopqrstuvwxyz'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.