使用JQuery轻松保存到JSON文件
我已经尝试了所有可以使用的示例,但不能简单地将JSON数据保存到主机上的JSON文件中。我想从一个尽可能简单的保存方法开始,所以我有一个起点。
基本上,我的
有一个按钮,单击后应将数据保存到我的general.json文件中(与index.html相同的位置)。
<button id="savebtn">Save</button>
使用 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中的事件。这不是很相关,因为到现在为止它仍然可以正常工作。
您将看到以下内容:
[{"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$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)}
$.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!");}
});
以上是 使用JQuery轻松保存到JSON文件 的全部内容, 来源链接: utcz.com/qa/433134.html