Pendapatan Teks Respons AJAX dalam Prototaip
Dalam pembangunan AJAX berasaskan prototaip, mendapatkan teks respons boleh menjadi mencabar. Pendekatan biasa melibatkan penggunaan panggil balik onComplete, seperti yang ditunjukkan di bawah:
somefunction: function() { var result = ""; myAjax = new Ajax.Request(postUrl, { method: 'post', postBody: postData, contentType: 'application/x-www-form-urlencoded', onComplete: function(transport) { if (200 == transport.status) { result = transport.responseText; } } }); return result; }
Walau bagaimanapun, pendekatan ini selalunya menghasilkan pembolehubah hasil kosong disebabkan sifat tak segerak permintaan AJAX. Panggilan balik onComplete digunakan selepas beberapa fungsi selesai, yang membawa kepada ketidakpadanan masa.
Untuk menangani isu ini, fungsi panggil balik mesti dihantar ke beberapa fungsi sebagai parameter. Panggilan balik ini akan dilaksanakan apabila operasi AJAX selesai, seperti yang ditunjukkan dalam kod yang diperbetulkan di bawah:
somefunction: function(callback){ var result = ""; myAjax = new Ajax.Request(postUrl, { method: 'post', postBody: postData, contentType: 'application/x-www-form-urlencoded', onComplete: function(transport){ if (200 == transport.status) { result = transport.responseText; callback(result); } } }); } somefunction(function(result){ alert(result); });
Dalam senario ini, fungsi panggil balik digunakan dalam pengendali onComplete, memastikan teks respons tersedia apabila fungsi utama selesai. Panggilan balik yang diluluskan kemudiannya boleh menggunakan teks respons untuk pemprosesan selanjutnya.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Teks Respons AJAX dengan Boleh Dipercayai dalam Prototype.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!