将数据从jquery ajax添加到JSON对象

时间:2018-03-01 06:45:30

标签: javascript jquery json ajax

我在jQuery中有一个ajax函数,它返回一个JSON对象列表。从数据中,我想填充一个时间轴,其定义如下:

时间轴

$('#timeline-container-basic').timelineMe({
  items: [
    {
      type: 'smallItem',
      label: 'Name',
      shortContent: 'Address',
      forcePosition: 'right'
    },
    {
      type: 'smallItem',
      label: 'Name2',
      shortContent: 'Address2',
      forcePosition: 'right'
    }
  ]
});

Ajax功能:

$.ajax({
            url: 'GetCustomers',
            type: 'GET',
            dataType: 'json',
            success: function (data) {

            for (var i = 0; i < data.length; i++) {
                console.log(data[i].Name);
            }

我想要实现的是我希望从ajax数据中填充items对象。有人可以建议我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

根据我的理解,你的json会是。

 $.ajax({
        url: 'GetCustomers',
        type: 'GET',
        dataType: 'json',
        success: function (data) { 
                var AssignArray=[];
                for (var i = 0; i < data.length; i++) {
                var obj= {
                type: data[i].smallItem,
                label: data[i].Name,
                shortContent: data[i].Address,
                forcePosition: data[i].right
                }
             AssignArray.push(obj);   
            } 
            $('#timeline-container-basic').timelineMe({  items:AssignArray});
     }
});

答案 1 :(得分:1)

像这样使用。

timelinejson = []
$.ajax({
    url: 'GetCustomers',
    type: 'GET',
    dataType: 'json',
    success: function (data) {
        $.each(data,function(){
            timelinejson.push({
                type: this.smallItem,
                label: this.Name,
                shortContent: this.Address,
                forcePosition: this.right
            });
        });
    }
});