Jquery ajax中循环的Fullcalendar用法

Jquery ajax中循环的Fullcalendar用法,jquery,ajax,fullcalendar,Jquery,Ajax,Fullcalendar,我想在AJAX中使用带有FullCalendar JQuery插件的for循环。 可能吗 我的代码是 $("#frm").attr("action","readCountOfAdv.do"); $("#frm").ajaxSubmit(advCount); var advCount = { success : function(resultData) { var result = JSONtoString(resultData);

我想在AJAX中使用带有FullCalendar JQuery插件的for循环。 可能吗

我的代码是

$("#frm").attr("action","readCountOfAdv.do");
$("#frm").ajaxSubmit(advCount);

var advCount = {
        success : function(resultData) {
            var result = JSONtoString(resultData);
            var array = result.split(",");

            data = {events: [
                for(i=1 ; i<=arry.length ; i++){
                    if(i < array.length){
                        {
                            title: 'a',
                            start: '2012-05-14'
                        },
                    }else if(i == array.length){
                        {
                            title: 'a',
                            start: '2012-05-14'
                        }
                    }
                }
            ]};
            calendar.fullCalendar( 'addEventSource', data );

        },
        type : "post",
        dataType : "json",
        error : function() {
            alert("error");
        }
    };

我可以想出两种解决办法。 第一个依赖于Array.prototype.map-在一些较旧的浏览器中不可用,但很容易替换,请参见

第二个没有,而是使用Array.prototype。它有点不那么优雅

data = { events: [] };
array.forEach(function(element,i){
    if(i < array.length){
        data.events.append({
            title: 'a',
            start: '2012-05-14'
        });
    }else if(i == array.length){
        data.events.append({
            title: 'a',
            start: '2012-05-14'
        });
    }
});
编辑:在第二个选项的基础上,还有第三个选项,可能比第二个稍微优雅一些

data = {
    events: (function(arrayIn){
        arrayOut=[];
        arrayIn.forEach(function(element,i){
            if(i < arrayIn.length){
                arrayOut.append({
                    title: 'a',
                    start: '2012-05-14'
                });
            }else if(i == array.length){
                arrayout.append({
                    title: 'a',
                    start: '2012-05-14'
                });
            }
        });
        return arrayOut;
    })(array)
}

预期的输出是什么?您得到了什么?有错误信息吗?我有语法错误。我认为这是一个循环。结果数据包括日期和计数日期。我想将它写入每个resultData.day。您的for循环arry中有一个输入错误,而不是数组。可能是这样吗?另外,数组在JS中是一个关键字,我会避免使用数组作为变量名。
data = {
    events: (function(arrayIn){
        arrayOut=[];
        arrayIn.forEach(function(element,i){
            if(i < arrayIn.length){
                arrayOut.append({
                    title: 'a',
                    start: '2012-05-14'
                });
            }else if(i == array.length){
                arrayout.append({
                    title: 'a',
                    start: '2012-05-14'
                });
            }
        });
        return arrayOut;
    })(array)
}