Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript返回json对象_Javascript_Jquery_Json_Fullcalendar - Fatal编程技术网

从javascript返回json对象

从javascript返回json对象,javascript,jquery,json,fullcalendar,Javascript,Jquery,Json,Fullcalendar,我正在使用fullcalendar和google calendar api,从中我获取我的事件,并希望将它们作为json传递到我的fullcalendar,因为fullcalendar事件接受它作为数据源,并自动将它们呈现到日历中 我有我的html文件,其中包括许多资源和创建日历的jQuery脚本: <html> <head> <link rel='stylesheet' href='fullcalendar/fullcalendar.css

我正在使用fullcalendar和google calendar api,从中我获取我的事件,并希望将它们作为json传递到我的fullcalendar,因为fullcalendar事件接受它作为数据源,并自动将它们呈现到日历中

我有我的html文件,其中包括许多资源和创建日历的jQuery脚本:

<html>
    <head>
        <link rel='stylesheet' href='fullcalendar/fullcalendar.css' />
        <script src='fullcalendar/lib/jquery.min.js'></script>
        <script src='fullcalendar/lib/moment.min.js'></script>
        <script src='fullcalendar/fullcalendar.js'></script>
        <script type='text/javascript' src='fullcalendar/gcal.js'></script>
        <script src='fullcalendar/lang/da.js'></script>

        <script type='text/javascript'>
            $(document).ready(function() {
                $('#calendar').fullCalendar({
                    defaultView: 'agendaWeek',
                    weekends: false,
                    lang: 'da',
                    header: false,
                    allDaySlot: false,
                    allDayText: '',
                    height: 695,
                    minTime: '06:00:00',
                    maxTime: '20:00:00',
                    events: 'calendarData.js'
                });
            });
        </script>
    </head>
    <body>
        <div id="calendar"></div>
    </body>
</html>
当我字符串化并警告对象时,它看起来如下所示:

[{"id":"1","title":"Test 1","start":"2016-05-26","end":"2016-05-26T16:30:00","allDay":false},{"id":"2","title":"Test 2","start":"2016-05-26","end":"2016-05-26T17:00:00","allDay":false},{"id":"3","title":"Test 3","start":"2016-05-27T08:00:00","end":"","allDay":false}]
var myObject = JSON.stringify(json);
            alert(myObject);
{"json":[{"id":1,"title":"ghhgfgh","start":"2016-05-26T14:30:00+02:00","end":"2016-05-26T15:30:00+02:00"}]}
var Jobj = JSON.parse(your_string_data);

要在JS/JSON对象之间交互,必须使用:

JSON.stringify()
JSON.parse()
参考文献包括和

例如:JS>JSON>JS

var x = {
y: 'hello',
z: 1
};

console.log(JSON.parse(JSON.stringify(x)));

将其转换为JSON对象,如下所示:

[{"id":"1","title":"Test 1","start":"2016-05-26","end":"2016-05-26T16:30:00","allDay":false},{"id":"2","title":"Test 2","start":"2016-05-26","end":"2016-05-26T17:00:00","allDay":false},{"id":"3","title":"Test 3","start":"2016-05-27T08:00:00","end":"","allDay":false}]
var myObject = JSON.stringify(json);
            alert(myObject);
{"json":[{"id":1,"title":"ghhgfgh","start":"2016-05-26T14:30:00+02:00","end":"2016-05-26T15:30:00+02:00"}]}
var Jobj = JSON.parse(your_string_data);
你的问题是:

$(document).ready(function () {
  $('#calendar').fullCalendar({
    defaultView: 'agendaWeek',
    weekends: false,
    lang: 'da',
    header: false,
    allDaySlot: false,
    allDayText: '',
    height: 695,
    minTime: '06:00:00',
    maxTime: '20:00:00',
    events: 'calendarData.js'
  });
});
“事件”不能将javascript文件作为输入或直接json字符串。你可以给它一个,一个或一个

我猜您打算用listUpcomingEvents()函数的结果来填充“事件”

您可以这样做(只需确保在HTML文件中添加calendarData.js作为脚本src):


那就是var Jobj=JSON.parse(JSON);返回Jobj?还添加了一些关于json元素的内容,就像现在看起来的一样。您可以随时返回对象。谢谢,是的,就是这样。唯一的问题是,当我将身份验证添加到函数中时,它似乎在某个地方发生了故障。例如,函数getData(){var json=[];json.push('some hardcoded data');return json;}可以很好地处理上述函数调用。但是,如果我将calendarData.js添加到html文件中脚本中的函数中,则不会向数组中添加任何数据。我确信它可以工作,因为它在没有jQuery的情况下运行并在另一个文件中获取数据。但这不是一个直接的问题。