Javascript 未捕获的TypeError:对象不是Fullcalendar中的函数
我试图让fullcalendar在删除某些内容时从我的数据库中呈现数据。我可以看到数据是通过ajax正确传递的。但是当调用回调时,我得到错误消息uncaughttypeerror:object不是函数 下面是我的代码:Javascript 未捕获的TypeError:对象不是Fullcalendar中的函数,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我试图让fullcalendar在删除某些内容时从我的数据库中呈现数据。我可以看到数据是通过ajax正确传递的。但是当调用回调时,我得到错误消息uncaughttypeerror:object不是函数 下面是我的代码: drop: function (start, end, timezone, callback) { var resource_id = $(this).attr('id'); var id = resource_id.substring(re
drop: function (start, end, timezone, callback) {
var resource_id = $(this).attr('id');
var id = resource_id.substring(resource_id.lastIndexOf('_') + 1, resource_id.length);
var events_uri = '/get_resource_events';
$.ajax({
url: resource_base_url() + events_uri,
data: {
id: id
},
type: "GET",
dataType: 'json',
success: function(data) {
var events = [];
for (order in data) {
var allday_data = data[order].allday;
if (allday_data === 'true') {
allday_data = true;
} else {
allday_data = false;
};
events.push({
id: data[order].id,
title: [data[order].initials] + [data[order].last_name],
start: data[order].start,
end: data[order].end,
allDay: allday_data,
color: data[order].calendar_color
});
};
callback(events);
$('#calendar').fullCalendar('rerenderEvents');
}
});
}
有人建议解决这个错误消息吗
下面是来自ajax的结果,用于回调
[{"id":"136","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-05 09:00:00","end":"2014-08-05 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"138","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-04 09:00:00","end":"2014-08-04 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"139","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-07 07:30:00","end":"2014-08-07 11:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"142","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-06 00:00:00","end":"0000-00-00 00:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"143","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-06 11:30:00","end":"2014-08-06 15:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"155","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-10 09:00:00","end":"2014-08-10 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"170","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-28 10:00:00","end":"2014-08-28 15:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"171","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-26 08:00:00","end":"2014-08-26 12:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"175","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-30 07:00:00","end":"2014-08-30 14:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"183","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-29 07:30:00","end":"2014-08-29 13:00:00","allday":null,"calendar_color":"#00ffff"}]
我尝试了您描述的解决方案,但仍然收到相同的错误消息对象不是函数。下面是completat JS文件。还有其他建议吗
$(document).ready(function() {
function resource_base_url() {
return base_url() + '/resource_controller/';
}
/* initialize the calendar
-----------------------------------------------------------------*/
$('#calendar').fullCalendar({
firstDay: 1, // Sunday=0, Monday=1, Tuesday=2, etc.
aspectRatio: 2.5,
eventTextColor: 'black',
theme: true, // false, true
handleWindowResize: true,
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
// Determines which icons are displayed in buttons of the header when theming is on.
themeButtonIcons:{ // Check http://api.jqueryui.com/theming/icons/ for avalible icon names
prev: 'ui-icon ui-icon-circle-triangle-w',
next: 'ui-icon ui-icon-circle-triangle-e'
},
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
//events: calendar_base_url() + '/events',
eventRender: function(event, element, view) {
if (event.allDay === 'true') {
event.allDay = true;
} else {
event.allDay = false;
}
},
drop: function (start, end, timezone, callback) {
var resource_id = $(this).attr('id');
var id = resource_id.substring(resource_id.lastIndexOf('_') + 1, resource_id.length);
var events_uri = '/get_resource_events';
$.ajax({
url: resource_base_url() + events_uri,
data: {
id: id
},
type: "GET",
dataType: 'json',
success: function(data) {
$.each(data, function(key, val){
var events = [];
var allday_data = val.allday;
if (allday_data === 'true') {
allday_data = true;
} else {
allday_data = false;
};
events.push({
id: val.id,
title: val.initials + val.last_name,
start: val.start,
end: val.end,
allDay: allday_data,
color: val.calendar_color
});
callback(events);
$('#calendar').fullCalendar('rerenderEvents');
});
}
});
}
});
})) 如果要通过json对象执行循环,请尝试对每个函数执行类似操作。 希望对你有帮助 您必须像这样将事件放入窗口的全局范围
<script>
var events = new Array();
</script>
下面是一个工作示例:
var events = new Array();
$(document).ready(function(){
var data = [{"id":"136","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-05 09:00:00","end":"2014-08-05 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"138","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-04 09:00:00","end":"2014-08-04 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"139","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-07 07:30:00","end":"2014-08-07 11:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"142","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-06 00:00:00","end":"0000-00-00 00:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"143","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-06 11:30:00","end":"2014-08-06 15:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"155","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-10 09:00:00","end":"2014-08-10 13:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"170","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-28 10:00:00","end":"2014-08-28 15:00:00","allday":null,"calendar_color":"#00ffff"},{"id":"171","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-26 08:00:00","end":"2014-08-26 12:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"175","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-30 07:00:00","end":"2014-08-30 14:30:00","allday":null,"calendar_color":"#00ffff"},{"id":"183","initials":"M.H.","last_name":"Tjon-Sien-Fat","start":"2014-08-29 07:30:00","end":"2014-08-29 13:00:00","allday":null,"calendar_color":"#00ffff"}];
$.each(data, function(key, val){
var allday_data = val.allday;
if (allday_data === 'true') {
allday_data = true;
} else {
allday_data = false;
};
events.push({
id: val.id,
title: [val.initials] + [val.last_name],
start: val.start,
end: val.end,
allDay: allday_data,
color: val.calendar_color
});
})
console.log(events);
});
这是输出
[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
Object0: ObjectallDay: falsecolor: "#00ffff", end: "2014-08-05 13:00:00", id: "136", start: "2014-08-05 09:00:00", title: "M.H.Tjon-Sien-Fat";
我们可以看到您的回调吗?您应该在成功回调中用
var
声明“order”。还有“title”属性-您正在将两个数组相加?这有什么意义?
[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
Object0: ObjectallDay: falsecolor: "#00ffff", end: "2014-08-05 13:00:00", id: "136", start: "2014-08-05 09:00:00", title: "M.H.Tjon-Sien-Fat";