为什么$ .getJSON会反转响应列表?

时间:2012-08-10 13:56:06

标签: ajax jquery

我有以下代码:

// Setup a content array for the tooltips
var Data = [];
var search = $("input#field_search").val();
var combo = $("select#search_option").val();
var jsonUrl = "ajax.php?module=formation&action=get_participant_list_json&filter_by=" + combo + "&search=" + search;

$.getJSON(jsonUrl, function(data) {
    var items = [];
    alert(data.join(" || " )); //WHAT TO SHOW YOU HERE

    $.each(data, function(key, val) {
        //alert(val);
        items.push(val.replace(/@/gi, "#"));
    });
    //console.log(items);
    //alert(items.join(" || " ));
    $(".tips").each(function(i) {
        $(this).simpletip({ content: items[i] });
    });
});

如果我访问

ajax.php?module=formation&action=get_participant_list_json

ajax.php?module=formation&action=get_participant_list_json&filter_by=&search=

直接使用IE7,我按以下顺序获得了良好的响应数据:

["0Bequart Claire","1AZZI Sarah"]

但如果我alert(data.join(" || " ));我被颠倒了

  0AZZI Sarah || 1Bequart Claire

你知道我的错误在哪里吗?为什么响应列表的顺序相反?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我无法完全遵循您的代码,所以如果我误解了,我会道歉,但.push看起来像是一个旨在实现LIFO堆栈的操作。如果要按照加载它的相同顺序卸载(列出)数组,则应使用追加操作加载它并使用迭代器卸载它。