原谅我,我对编程很新,尤其是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});
这最初工作正常,但如果我刷新页面或返回查找页面,则会从数组中删除新配方。我希望将新配方永久添加到数组中。
我猜这个问题的解决方案并不那么简单,但我已经研究了一段时间并且做了很多搜索无济于事。任何人都能指出我正确的方向吗?再次为我的经验道歉,我对编程很新。
答案 0 :(得分:5)
您需要记住的主要事情是,每次刷新页面时,它都不知道上一页中的数据。正如a previous comment中提到的,持久存储是您正在寻找的。这可能是全开(NoSQL / RDBMS)数据库或仅存储在浏览器中的其他半永久形式。
您可以开始使用完整版数据库,或者如果您想要更轻量级的内容,可以使用local storage或cookies。需要注意的一点是,除非你实现某些服务器端,例如:数据库,否则更改只会持久保存给用户,只要它们不清除缓存即可。