Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh menukar data JSON kepada jadual HTML menggunakan jQuery, sambil mengecualikan medan tertentu dan mengelakkan kelemahan suntikan?

Bagaimanakah saya boleh menukar data JSON kepada jadual HTML menggunakan jQuery, sambil mengecualikan medan tertentu dan mengelakkan kelemahan suntikan?

Barbara Streisand
Barbara Streisandasal
2024-10-30 22:53:03264semak imbas

How can I convert JSON data to an HTML table using jQuery, while excluding specific fields and avoiding injection vulnerabilities?

Penukaran Jadual JSON ke HTML dengan jQuery

Menukar tatasusunan objek JSON ke dalam jadual HTML boleh menjadi tugas yang sukar, terutamanya apabila medan tertentu perlu dikecualikan. Walau bagaimanapun, jQuery menyediakan penyelesaian yang elegan dan mudah untuk cabaran ini.

Menggunakan Kaedah getJSON() jQuery

Kaedah getJSON() mengambil data JSON secara tidak segerak daripada URL yang ditentukan dan melaksanakan fungsi panggil balik apabila berjaya mendapatkan semula. Dalam fungsi panggil balik, setiap objek JSON dalam tatasusunan diulang dan setiap medan ditukar menjadi sel jadual HTML.

Membuat Struktur Jadual

Yang berikut coretan kod menunjukkan cara menggunakan getJSON() untuk menjana jadual HTML:

$.getJSON(url , function(data) {
    var tbl_body = "";
    var odd_even = false;
    $.each(data, function() {
        var tbl_row = "";
        $.each(this, function(k , v) {
            tbl_row += "<td>"+v+"</td>";
        });
        tbl_body += "<tr class=\""+( odd_even ? "odd" : "even")+"\">"+tbl_row+"</tr>";
        odd_even = !odd_even;               
    });
    $("#target_table_id tbody").html(tbl_body);
});

Dalam kod ini, pemilih $("#target_table_id tbody") mencari elemen badan jadual dengan ID yang ditentukan dan mengisinya dengan HTML yang dijana secara dinamik.

Tidak Termasuk Medan Khusus

Untuk mengecualikan medan tertentu daripada jadual, anda boleh mentakrifkan objek yang menyimpan kekunci medan yang anda mahu termasuk. Dalam fungsi panggil balik getJSON(), semak sama ada kunci medan wujud dalam objek ini dan masukkannya dalam baris jadual jika nilainya benar.

Alternatif Tanpa Suntikan

Untuk mengelakkan potensi kelemahan suntikan, pertimbangkan untuk menggunakan alternatif bebas suntikan berikut:

$.getJSON(url , function(data) {
    var tbl_body = document.createElement("tbody");
    var odd_even = false;
    $.each(data, function() {
        var tbl_row = tbl_body.insertRow();
        tbl_row.className = odd_even ? "odd" : "even";
        $.each(this, function(k , v) {
            var cell = tbl_row.insertCell();
            cell.appendChild(document.createTextNode(v.toString()));
        });        
        odd_even = !odd_even;               
    });
    $("#target_table_id").append(tbl_body);   //DOM table doesn't have .appendChild
});

Kod ini menggunakan kaedah insertRow() dan insertCell() secara langsung dan bukannya bergantung pada rentetan HTML, memastikan lebih banyak pelaksanaan selamat.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar data JSON kepada jadual HTML menggunakan jQuery, sambil mengecualikan medan tertentu dan mengelakkan kelemahan suntikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn