请原谅,我对编程非常陌生,尤其是 Javascript。我基本上得到了一个数组,如下所示。
var recipes = [
{ "recipeName":"Recipe1" , "ingredient1":"Recipe1Ingredient1" , "ingredient2":"Recipe1Ingredient2" , "ingredient3":"Recipe1Ingredient3"},
{ "recipeName":"Recipe2" , "ingredient1":"Recipe2Ingredient1" , "ingredient2":"Recipe2Ingredient2" , "ingredient3":"Recipe2Ingredient3"},
];
在一个页面上,用户可以搜索食谱。另一方面,他们可以通过 HTML 表单将食谱添加到数组中。我有以下将新数据推送到数组的内容。
recipes.push({"recipeName":newRecipeName , "ingredient1":newIngredient1 , "ingredient2":newIngredient2 , "ingredient3":newIngredient3});
这最初工作正常,但如果我刷新页面或返回查找页面,新配方将从数组中删除。我希望将新配方永久添加到数组中。
我猜这个问题的解决方案并不是那么简单,但我已经研究了一段时间,并且进行了大量搜索都无济于事。有人能指出我正确的方向吗?再次为我的缺乏经验道歉,我对编程很陌生。
最佳答案
这里您需要牢记的主要事情是,每次刷新页面时,它都不知道前一页上的数据。正如 a previous comment 中提到的,持久存储 正是您要寻找的。这可能以完整的 (NoSQL/RDBMS) 数据库的形式出现,或者以仅存储在浏览器中的其他一些半永久形式出现。
您可以开始使用完整的数据库,或者如果您想要更轻量级的东西,您可以使用 local storage 或 cookies 。需要注意的一件事是,除非您在服务器端实现某些东西,例如:数据库,否则更改将仅对用户持久,并且只要他们不清除缓存。
关于javascript - 你能永久地添加到 Javascript 中的数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21144565/