Javascript jQuery/JS–;输出数组内的对象–;最佳做法
我需要一些建议。我正在使用一个jQuery日历插件(这似乎很少见!),它完全是用JS初始化的。没有HTML 要添加事件,必须将每个事件作为数组中的对象写入: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"
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>