遍历Ajax数据

时间:2018-12-14 08:51:33

标签: javascript jquery ajax

我有一个ajax调用,可让我获取一个包含假期日期的json。 现在,我想将日期转换为时刻并将它们存储在数组中。 但是我的代码似乎无法正常工作。我只是得到空数组。

var holidays=[]
$.ajax({
    url: 'holiday.html',
    type: 'POST',
    data: {
        type: 'getHolidays',
        start: intervalStart,
        end: intervalEnd,
    },
    datatype: 'json',
    success: function(data){
        $.each(data,function(index,holiday){
            holidays.push(moment.unix(holiday["date"]));
        });
    },
});

Json看起来像这样

[
    {
        "date":"1545696000",
        "title":"Christmas Day1"
    },
    {
        "date":"1545782400",
        "title":"Christmas Day2"
    }
]

2 个答案:

答案 0 :(得分:0)

您的代码完全没问题,您只需要处理javascript的异步行为即可。就像您必须在成功之后使用假期数组

var holidays=[]
$.ajax({
    url: 'holiday.html',
    type: 'POST',
    data: {
        type: 'getHolidays',
        start: intervalStart,
        end: intervalEnd,
    },
    datatype: 'json',
    success: function(data){
        $.each(data,function(index,holiday){
            holidays.push(moment.unix(holiday["date"]));
            call_your_remaining_code_here();
        });
    },
});

答案 1 :(得分:0)

将此添加到您的ajax调用中

异步:否