Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh mendapatkan semula teks respons AJAX secara serentak dalam Prototype.js?

Bagaimanakah saya boleh mendapatkan semula teks respons AJAX secara serentak dalam Prototype.js?

Barbara Streisand
Lepaskan: 2024-12-26 04:32:13
asal
981 orang telah melayarinya

How Can I Retrieve AJAX Response Text Synchronously in Prototype.js?

Asynchronous JavaScript and XML (AJAX) Response Text Retrieval

Dalam konteks pembangunan AJAX berasaskan prototaip, mendapatkan semula teks respons menimbulkan cabaran. Pertimbangkan kod berikut:

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;
}
Salin selepas log masuk

Dalam coretan ini, fungsi "onComplete" dilaksanakan secara tidak segerak, lama selepas "someFunction" selesai. Ini menghasilkan pembolehubah "hasil" kosong.

Untuk mengatasinya, penyelesaian dicadangkan dalam jawapan yang disediakan: memperkenalkan fungsi panggil balik kepada "someFunction" sebagai parameter. Panggilan balik ini akan digunakan sebaik sahaja operasi AJAX selesai.

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);
            }
        }
    });

}
somefunction(function(result){
  alert(result);
});
Salin selepas log masuk

Dalam kes ini, "someFunction" mengambil panggilan balik sebagai parameter dan memanggilnya dengan teks respons. Dalam contoh, fungsi panggil balik memaparkan amaran dengan teks yang diambil. Mekanisme ini memastikan bahawa teks respons tersedia untuk fungsi berikutnya apabila diperlukan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula teks respons AJAX secara serentak dalam Prototype.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan