当前位置: 首页 > 面试题库 >

使用JQuery轻松保存到JSON文件

陆建木
2023-03-14
问题内容

我已经尝试了所有可以使用的示例,但不能简单地将JSON数据保存到主机上的JSON文件中。我想从一个尽可能简单的保存方法开始,所以我有一个起点。

这就是我得到的: 基本上,我的 index.html中
有一个按钮,单击后应将数据保存到我的general.json文件中(与index.html相同的位置)。

<button id="savebtn">Save</button>

使用 myscript.js中的 id选择器,我可以这样做:

$('#savebtn').click(function() {
                var saveit = $('#calendar').fullCalendar( 'clientEvents');

        var eventsholded = [];

    $.each(saveit, function(index,value) {
        var event = new Object();
        event.id = value.id;            
        event.start = value.start;
        event.end = value.end;
        event.title = value.title;
    event.allDay = value.allDay
        eventsholded.push(event);
    }); 
    $.ajax
    ({
        type: "GET",
        dataType : 'json',
        async: false,
        url: 'general.json',
        data: JSON.stringify(eventsholded),
        success: function () {alert("Thanks!"); },
        failure: function() {alert("Error!");}
    });

如您所见,我想存储fullcalendar中的事件。这不是很相关,因为到现在为止它仍然可以正常工作。
如果我在屏幕上发出JSON.stringify(eventsholded)警报, 您将看到以下内容:

[{"start":"2014-01-07T08:30:00.000Z","end":"2014-01-07T12:30:00.000Z","title":"Pumukli Pista","allDay":false},{"start":"2014-01-11T13:30:00.000Z","end":"2014-01-11T18:30:00.000Z","title":"Fanic Catalin","allDay":false}]

现在, 这正是我想要以简单,快速,也许不安全但非常简单的方式保存到服务器的内容。
这样我就可以开始理解它是如何工作的,只是将其包含在我的general.json文件中。

$.ajax部分在我上面的代码中不执行任何操作。甚至没有警告“错误”。其余代码按预期工作。

安全性现在不重要。 我只想了解它是如何工作的。

对于包含完整示例的任何帮助或有用链接,我将不胜感激。 谢谢!


问题答案:

$.ajax单独不会保存json文件,您需要将url属性定向到服务器端脚本,即http://your.host/save_json.php,它将在其中创建general.json并写入您的输出。就像是:

PHP:

<?php
$myFile = "general.json";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $_GET["data"];
fwrite($fh, $stringData);
fclose($fh)
?>

您还需要更改调用中的data属性,以为GET变量提供一个可以从PHP检索的适当名称:ajax``data: {data: JSON.stringify(eventsholded)}

JQUERY

$.ajax
    ({
        type: "GET",
        dataType : 'json',
        async: false,
        url: 'http://your.host/save_json.php',
        data: { data: JSON.stringify(eventsholded) },
        success: function () {alert("Thanks!"); },
        failure: function() {alert("Error!");}
    });


 类似资料:
  • 问题内容: 我是python的新手(我使用python 3),并且我尝试使用JSon中的一个字符串和两个列表作为成员序列化一个类。我发现python标准中有一个json库,但似乎我需要手动实现序列化方法。是否有一个JSon编码器,我可以在其中简单地传递一个对象,并以字符串形式接收序列化的对象,而无需实现序列化方法。例: 谢谢。 问题答案: 不了解任何预构建的内容,但是如果您的对象足够简单,则可以编

  • 问题内容: 我有一个可以正常工作的Rest Web服务,它使用JBoss Resteasy,但是当我尝试移植它以使用GAE时,执行时出现此错误: 问题答案: 我在GAE上成功使用resteasy。正如csturtz所述,请确保您的项目具有resteasy依赖性。 如果您使用Maven,应该是这样的: 并且您还可以选择使用:

  • 如果你想让用户把你网站上的一个文件保存到Google Drive,简单得可笑。只需使用保存到驱动器按钮和几行代码,一切都搞定了。太好了。 我希望我的网站有这样的行为。但是,我希望将用户生成的文本保存在那里,而不是保存在服务器上的静态文件。我有一个JavaScript变量中的文本,但似乎没有办法使用简单的保存到驱动按钮。文档指出“数据URI…不受支持”,我的测试表明对象URL同样不受支持(这家伙发现

  • 轻松上传是魔方加密开发的快速上传组件。轻松上传的环境要求: Microsoft Windows 操作系统 Google Chrome 浏览器 使用步骤 安装轻松上传后,您可以通过以下步骤使用: 打开 Windows 资源管理器,选择需要上传的 PHP 文件 按下 CTRL+C 复制文件 打开魔方加密页面 按下 CTRL+V 粘贴文件 等待文件上传 安装方法 点击这里 打开 Chrome 网上应用店

  • 第一节 Go语言安装与测试 轻松友好的安装方式,多平台支持。 第二节 内置基础数据类型 认识Go提供的清晰的数据类型,很清晰,不骗你。 第三节 变量与常量定义 学语言绕不开的变量,当然Go是静态语言,变量都是有固定类型的,程序运行过程中无法改变变量类型。 第四节 控制流程 很简单,只有if,for,switch三种流程,连while都没有。 第五节 数组,切片和字典 内置高级数据类型。如果我们需要

  • Go轻松学是一款学习GoLang的小型学习App。基于Android平台。主要包含Go基础和Go实例两部分。 Go轻松学,可以让你随时随地浏览Go提供的独特功能,本应用提供了翔实的测试例程序,100%测试通过。并且可以根据反馈持续更新。在这里,变量,函数,结构体,指针,并行计算,包和测试都有详细的讲解。 Go基础部分由本人的读书笔记归纳整理而来,而实例部分则由网址http://gobyexampl