【问题标题】:How to save user input without backend如何在没有后端的情况下保存用户输入
【发布时间】:2014-05-20 04:59:01
【问题描述】:

我只是在学习 JavaScript 和一般的 Web 开发,我想知道我想做的事情是否可行。 我想编写一个 JavaScript 测验,无需后端即可保存用户输入的答案。这可能吗?

如果不可能,我能做到这一点的最简单和最简单的方法是什么?

谢谢

PS:如果这不是问这个问题的正确地方,请引导我到我应该问这个的地方。

【问题讨论】:

    标签: javascript web-development-server


    【解决方案1】:
    【解决方案2】:

    如果您打算只为用户存储它们,您可以使用localstorage

    有很多方法可以使用它,但这是一个非常简单的版本,应该会为您指明正确的方向。

    正如@patick 下面提到的 - 如果您想存储更完整的数据,您需要对数据进行 JSON.stringify 处理,然后在您准备好使用数据时进行解析。

    还请注意,所有本地存储都保存为字符串,因此您需要将其设为整数才能真正使用它。

    你可能会这样做

    // set inital score
    var score = parseFloat(localStorage.getItem('score'));
    
    // if they get the answer correct
    score = score + 1;
    
    // update the score
    localstorage.setItem('score',score);
    
    // go to next question
    

    【讨论】:

    • 需要注意的是 localStorage 将所有内容都存储为字符串,因此如果您打算保存数组或对象,您需要先对它们进行 JSON.stringify 然后 JSON.parse 它们以将它们返回到数组/对象
    • 这是一个很好的观点——就像我说的,这是一个非常基本的例子。还取决于您希望如何存储数据 stringify 才能将数据存储为 JSON。
    • 另外score = score + 1 应该是score = +score+1 否则它会将1连接到返回的字符串:)
    • @PatrickEvans 哈哈——刚刚更新了我的答案。确保将字符串转换为整数
    • 感谢您的回复,但如果我想自己查看数据而不将其存储在用户计算机上怎么办?我肯定需要一些服务器端代码来执行此操作吗?
    【解决方案3】:

    尝试 HTML5 网络存储。使用 HTML5,网页可以在用户浏览器中本地存储数据。

    这是MDN的快速教程

    另一个教程:http://mrbool.com/creating-a-crud-form-with-html5-local-storage-and-json/26719

    请务必注意,Internet Explorer 7 及更早版本不支持 Web Storage。

    【讨论】:

    • 我会推荐MDN 而不是w3schools,后者通常包含完全错误的信息。我发现 MDN 是可靠的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多