Pemuatan JSON Asynchronous
Memuatkan fail JSON setempat menggunakan kaedah $.getJSON jQuery kadangkala boleh mengakibatkan tingkah laku yang tidak dijangka apabila cuba mengakses yang dimuatkan data. Ini berlaku kerana $.getJSON melaksanakan secara tidak segerak, bermakna kod berikutnya yang mengakses data mungkin dilaksanakan sebelum fail JSON dimuatkan sepenuhnya.
Dalam contoh yang disediakan:
var json = $.getJSON("test.json"); var data = eval("(" + json.responseText + ")"); document.write(data["a"]);
Baris eval gagal kerana json.responseText masih tidak ditentukan kerana fail JSON belum dimuatkan lagi.
Untuk menyelesaikan isu ini, $.getJSON hendaklah dikendalikan secara tak segerak menggunakan fungsi panggil balik:
$.getJSON("test.json", function(json) { console.log(json); // Access the loaded data within this callback });
Dengan melaksanakan pendekatan tak segerak ini, kod yang mengakses data JSON hanya akan dilaksanakan selepas data dimuatkan sepenuhnya, memastikan data ditakrifkan dan boleh diakses.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Ralat Apabila Memuatkan Data JSON Secara Asynchronous dengan $.getJSON() jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!