在ajax回发后推送数组中的项目

时间:2014-09-18 06:45:34

标签: javascript jquery arrays ajax

我在 .cshtml 页面

上写了这个脚本
$(function () {
        var tempArray = [];
        var tbValue = $('#tb1').val();
        $.ajax({
            url: "/ControllerName/getdata",
            dataType: 'json',
            data: { strText: tbValue },
            success: function (Data) {
                $.each(Data, function (index, value) {
                    tempArray.push(value.Name);
                });

                $("#tb1").autocomplete({
                    source: tempArray,
                    minLength: 0
                });
            },
            error: function (xhr, ajaxOptions, thrownError) {
                console.log(xhr.status);
                console.log(xhr.responseText);
                console.log(thrownError);
                alert("failure");
            }

        });

    });

现在在ajax调用之后,我得到Data中的对象列表,就像这样

enter image description here

我在每个循环中获得indexvalue的以下值

enter image description here

enter image description here

当我尝试在每个循环内的tempArray中推送数据时出现问题。

enter image description here

我在我的数组中得到未定义的项,它来自每个循环。如何在数组中添加项目?

注意:控制台日志中没有错误,我正在使用MVC3。

1 个答案:

答案 0 :(得分:3)

试试这个。

$.each(Data.Data, function (index, value) {
    tempArray.push(value.Name);
});

您的Ajax返回变量"数据"是对象

Data = {Data:[array maybe has 12 size]}