使用 jquery 将表单数据保存到本地 json 文件中

Posted

技术标签:

【中文标题】使用 jquery 将表单数据保存到本地 json 文件中【英文标题】:Save form data into local json file using jquery 【发布时间】:2012-10-17 22:30:00 【问题描述】:

我有一个带有一些输入字段的基本表单。我想在提交表单时将表单数据保存到 json 文件中。 json文件中保存的数据格式应该是这样的。

[
    "title":"some text","description":"some text","info":"some text","username":"some name",
    "title":"some text","description":"some text","info":"some text","username":"some name",
    "title":"some text","description":"some text","info":"some text","username":"some name"
]

我尝试使用此代码执行此操作,但我的“story.json 文件”中没有保存任何数据

$('form').submit(function() 
    $.ajax(
       type: 'POST', 
       dataType: 'json', 
       url: 'story.json', 
       data: $(this).serialize(), 
       success: function(data)  
           alert(data.message); 
       ,
       failure: function (data) 
           alert('Please try again');
       
    );
 );

我想将此表单数据保存在我的本地文件中。 请帮助我找到正确的方法。谢谢

【问题讨论】:

我会说,除非你擅长配置你的 http 服务器,否则你需要一种服务器端语言,你有吗? 您可以将支持它的浏览器保存到 localStorage 而无需服务器...这是一个可行的解决方案吗? 是的,没有服务器端语言是不可能的。这就是答案。谢谢 【参考方案1】:

您需要将数据发布到一个简单的 php 文件...

喜欢url: 'story.php' 在该 php 文件中使用 fopen 创建一个“story.json”并存储该 json

编辑:如果你想使用 serialize() 而不是使用这样的东西

data:'mydata':$(this).serialize()

在php文件中

parse_str($_POST['mydata'],$newarray) ;

echo json_encode($newarray);

【讨论】:

ok..那么如何使用 .serialize() 或 .serializeArray() 方法将上述格式的表单数据保存在 json 对象中。【参考方案2】:

javascript 无法保存到文件,除非它是 FireFox 插件。

您所做的是发布一个表单(将其发送到网络服务器),然后让服务器端脚本处理它。

序列化不会将表单值转换为 JSON 字符串:

http://api.jquery.com/serialize/

当你使用 $.post 时,你必须在 $('form').submit(function() 中返回 false ,否则浏览器会为你提交表单。

提交表单是当您单击一个按钮时,整个页面会变白片刻,然后您会得到一个新页面。

Ajax ($.post, $.get, $.getJson ...) 是指您在不刷新页面的情况下向服务器发送信息。谷歌地图就是一个很好的例子。

【讨论】:

【参考方案3】:

在表单 jQuery 对象上调用 serialize 方法不会返回其数据的 JSON 表示。它返回其数据的查询字符串表示。如上所述,您将需要使用服务器端脚本来解释(和操作)发送的数据并将其作为 JSON 存储在文件中。

【讨论】:

以上是关于使用 jquery 将表单数据保存到本地 json 文件中的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 使用 JSON 数据重新填充表单

如何使用 javascript 或 jquery 将 html 表单数据保存到 sql db [关闭]

jquery easyui combobox如何动态加载.json数据

使用 jquery/javascript 将数据从 html 表单保存到文本文件

如何将数据从网站保存到 json-server

将表单数据保存到本地存储并在刷新时显示