首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在没有服务器的情况下保存HTML表单数据?

有没有办法在没有服务器的情况下保存HTML表单数据?
EN

Stack Overflow用户
提问于 2013-06-03 09:51:11
回答 4查看 2.2K关注 0票数 2

我在Dropbox上有一个我喜欢玩的网站,但我没有个人服务器。

有没有办法在没有服务器的情况下保存HTML表单数据?

EN

回答 4

Stack Overflow用户

发布于 2013-06-03 14:02:51

有四种方法可以在不使用服务器的情况下存储表单数据:

  1. 将数据保存在localStorage (或sessionStorage)中,使用JavaScript
  2. save it in cookies,使用JavaScript
  3. 使用method=GET,以便表单数据包含在请求的URL中;如果使用action=foo.html,则foo.html上的JavaScript代码将能够从cookie action=mailto:...读取表单数据,这会导致表单数据通过电子邮件发送,前提是浏览器已配置为这样做。(有人可能会争辩说,这并不是完全没有服务器,因为电子邮件将通过电子邮件服务器。)

所有这些方法都以只允许以特殊方式访问数据的方式存储数据。

票数 1
EN

Stack Overflow用户

发布于 2013-06-03 14:48:34

您可以轻松地将表单存储在localStorage上:

代码语言:javascript
运行
复制
localStorage.setItem('formData', $('form').serialize());

或sessionStorage:

代码语言:javascript
运行
复制
sessionStorage.setItem('formData', $('form').serialize());

示例需要jQuery,并存储当前文档中所有表单的序列化数据。如果只想保存单个表单或特定字段,可以将form更改为另一个有效的jQuery选择器:http://api.jquery.com/selector/

您可以使用localStorage.getItem('formData') (localStorage)或sessionStorage.getItem('formData') (sessionStorage)访问序列化数据。

LocalStorage与大多数浏览器兼容。请参阅:http://www.html5rocks.com/de/features/storage

如果你想确保你也可以使用Cookie和JavaScript。

您可以使用此JS函数来创建/删除cookie:

代码语言:javascript
运行
复制
function setCookie(name,value,mins) {
    var expires = "";
    if (mins) {
        var date = new Date();
        date.setTime(date.getTime()+(mins*60*1000));
        expires = "; expires="+date.toGMTString();
    }
    else expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

下面是如何使用JavaScript的示例:

代码语言:javascript
运行
复制
setCookie('formData', $('form').serialize(), 525600);

您可以使用getCookie('formData')访问序列化的数据。

票数 1
EN

Stack Overflow用户

发布于 2013-06-03 10:49:27

你可以很容易地通过安装XAMPP http://www.apachefriends.org/en/xampp-windows.html在自己的计算机上设置一个服务器。然后你就可以做你喜欢的所有测试了。XAMPP将设置PHP,MySQL和Apache (以及一些工具),让你做一些测试,它是自包含在一个单独的文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16889068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档