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 jQuery/JS–;输出数组内的对象–;最佳做法_Javascript_Jquery_Json_Django - Fatal编程技术网

Javascript jQuery/JS–;输出数组内的对象–;最佳做法

Javascript jQuery/JS–;输出数组内的对象–;最佳做法,javascript,jquery,json,django,Javascript,Jquery,Json,Django,我需要一些建议。我正在使用一个jQuery日历插件(这似乎很少见!),它完全是用JS初始化的。没有HTML 要添加事件,必须将每个事件作为数组中的对象写入: events: [ { title: "Title of event", start: { date: YYYYMMDD or "YYYYMMDD", // "20131230" time: "HH.MM"

我需要一些建议。我正在使用一个jQuery日历插件(这似乎很少见!),它完全是用JS初始化的。没有HTML

要添加事件,必须将每个事件作为数组中的对象写入:

events: [
        {
            title: "Title of event",
            start: {
                date: YYYYMMDD or "YYYYMMDD",   // "20131230"
                time: "HH.MM"                   // "12.00"
            },
            end: {
                date: YYYYMMDD or "YYYYMMDD",   // "20131230"
                time: "HH.MM"                   // "20.00"
            }
        },
        {
            title: "Title of event",
            start: {
                date: YYYYMMDD or "YYYYMMDD",   // "20131230"
                time: "HH.MM"                   // "12.00"
            },
            end: {
                date: YYYYMMDD or "YYYYMMDD",   // "20131230"
                time: "HH.MM"                   // "20.00"
            }
        }
    ],
我使用的是Django,需要将每个事件的for循环写入此格式。所以,我的问题是,最好的方法是什么?JSON?这可能吗?将数据输出为JS对象的最佳实践是什么

提前感谢,


R

根据@rdck的要求,下面是如何实现的示例:

服务器端(PHP示例):


在HTML中

<script type="text/javascript">
    var events = '<?php echo json_encode($arr); ?>';
</script>

var事件=“”;

events
是您的json对象,您可以直接将其传递到事件日历中

我认为,最好的方法是AJAX请求

但您可以将json字符串添加到上下文dict并在模板中呈现:

<script type="text/javascript">var events = {{ json_data }};</script>
var事件={{json_data}};

不确定django,但在PHP中,我将构造一个多维数组,并使用它将数组转换为javascript可解析对象。如果django中有类似的函数,它将对您有所帮助。@ahgindia好的,太好了。非常感谢。那么,将PHP/服务器端代码输出到.js/标记中是否明智?您必须将所有事件都放入数据库中,因此可以在服务器端脚本中获取所有数据库记录,并直接在服务器端创建js对象。@ahgindia您能快速给我举个例子吗?不需要工作,但我有个主意。我已经为此挣扎了一段时间。例如,请检查我的答案。谢谢!那么,如果我要在JS脚本函数中包含这一点,这是最好的方法吗?我认为这种方式更好:要在Django中呈现JSON,您可以手动处理查询集并生成JSON.dumps,或者使用Django REST框架对查询集进行序列化和反序列化。您能进一步解释吗?我觉得这对学习非常有益。因此,在
/api/calendar/events/
文件中,我将放置JSON数据数组?是的,在
/api/calendar/events/
中放置JSON。您没有见过AJAX或AJAJ?是的,但只是想确定一下。因此,在
/api/calendar/events/
中,我将有一个index.html文件,在其中输出事件的JSON,然后简单地执行您在这里所做的操作:谢谢!那么,如果我要在JS脚本函数中包含这一点,这是最好的方法吗?
<script type="text/javascript">var events = {{ json_data }};</script>