jQuery:Ajax排序JSON

jQuery:Ajax排序JSON,jquery,Jquery,出于某种原因,我在排序AJAX请求时遇到问题 首先,这是我的控制器数据(返回排序): 这是用于检索/排序(并填写选择框)的jQuery代码: $.ajaxSetup({ 异步:false }); $.getJSON(“/agents/get_agents”,{ajax:'true'},函数(j){ var代理_期权=“”; $。每个(j,函数(键,值){ 代理_选项+=''+值+''; }) $('#t'+代理\计数器).html(代理\选项); }); jQuery没有保持相同的排序顺序。返

出于某种原因,我在排序AJAX请求时遇到问题

首先,这是我的控制器数据(返回排序):

这是用于检索/排序(并填写选择框)的jQuery代码:

$.ajaxSetup({
异步:false
});
$.getJSON(“/agents/get_agents”,{ajax:'true'},函数(j){
var代理_期权=“”;
$。每个(j,函数(键,值){
代理_选项+=''+值+'';
})
$('#t'+代理\计数器).html(代理\选项);
});

jQuery没有保持相同的排序顺序。

返回数组而不是对象。对象是无序的。with.getJSON或my php函数?JSON是一种数据交换格式,您不能对其进行“排序”。您可能能够对解析后得到的数据结构进行排序。
public function get_agents() {
    $this->autoRender = false;

    $this->Agent->contain();
    $agents = $this->Agent->find('list', array('conditions' => array('referral_partner' => 0), 'order' => array('name')));
    echo json_encode($agents);
}
$.ajaxSetup({
        async: false
});

$.getJSON("/agents/get_agents",{ajax: 'true'}, function(j) {
    var agents_options = '';

    $.each(j, function(key, value){
        agents_options += '<option value="' + key + '">' + value + '</option>';
    })

    $('#t' + agents_counter).html(agents_options);
});