Pertanyaan Jquery getJSON mengurutkan data saya dengan id secara otomatis


Saya memiliki kotak kombo yang memicu fungsi jquery pada perubahan, itu panggilan skrip php yang membawa hasil dari database yang diurutkan berdasarkan nama bukan oleh id (kota tabel) dan membuat file json dengan id dan nama kota. Masalahnya datang dengan fungsi $ .getJSON (url, data), ia mengambil semua data json yang dikodekan, tetapi tampaknya menyortir data secara otomatis oleh id

misalnya jika halaman php menghasilkan

id  name
3   Dania Beach
1   Miami
2   Weston

setelah jquery getJSON mengurutkan berdasarkan id

id  name
1   Miami
2   Weston
3   Dania Beach

Apakah ada cara untuk menonaktifkan penyortiran? atau bagaimana cara mempertahankan pesanan berdasarkan nama?


11
2017-09-24 22:56


asal


Jawaban:


Ini adalah array asosiatif: urutan tidak penting. Objek JSON berikut ini setara:

{
    "3" : "Danie Beach",
    "1" : "Miami",
    "2" : "Weston"
}

{
    "1" : "Miami",
    "2" : "Weston",
    "3" : "Danie Beach"
}

Jika Anda membutuhkan pemesanan, Anda sebaiknya memasukkan array dalam JSON:

{
    "beaches" : [
        {"key" : "3", "value" : "Danie Beach"},
        {"key" : "1", "value" : "Miami"},
        {"key" : "2", "value" : "Weston"}
    ]
}

Contoh Penggunaan:

jQuery.ajax({
    ...
    dataType: 'json',
    success: function(data) {
        jQuery.each(data.beaches, function(i, beach) {
            alert(i+': beach['+beach.key+'] = '+beach.value);
        });
    }
});

11
2017-09-24 23:16