我已经尝试了我可以得到我的所有例子,但我不能简单地将
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) ?>
您还需要将ajax调用中的数据属性更改为数据:{data:JSON.stringify(eventsholded)},以向GET变量提供可从PHP检索的正确名称:
JQUERY
$.ajax ({ type: "GET",url: 'http://your.host/save_json.PHP',data: { data: JSON.stringify(eventsholded) },failure: function() {alert("Error!");} });