Mendapatkan Teks Respons AJAX dalam Prototaip
Respons AJAX selalunya dalam format teks dan mendapatkan semula teks ini adalah penting untuk pemprosesan selanjutnya. Prototaip menyediakan cara yang mudah untuk mengakses teks respons ini, tetapi ia memerlukan sedikit pelarasan kepada pendekatan biasa.
Dalam coretan kod, pengendali acara onComplete ialah tempat teks respons harus diperolehi. Walau bagaimanapun, pembolehubah "hasil" dalam pelaksanaan awal tidak boleh diakses di luar fungsi onComplete disebabkan oleh operasi tak segerak.
Untuk mengatasinya, pengendali onComplete Prototaip membenarkan fungsi panggil balik sebagai parameter. Fungsi panggil balik ini dilaksanakan apabila permintaan AJAX selesai, dan ia boleh menerima responseText sebagai argumen.
Berikut ialah kod yang diubah suai:
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); } } }); }
Apabila memanggil beberapa fungsi, sediakan fungsi panggil balik sebagai fungsi tanpa nama:
somefunction(function (result) { alert(result); });
Pendekatan ini memastikan bahawa teks respons boleh diakses dalam panggilan balik fungsi, membenarkan pemprosesan atau paparan selanjutnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Teks Respons AJAX Menggunakan Pengendali `onComplete` Prototaip?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!