首頁 > web前端 > js教程 > 如何正確檢索 Prototype.js 中的 AJAX 回應文字?

如何正確檢索 Prototype.js 中的 AJAX 回應文字?

Barbara Streisand
發布: 2024-12-18 10:58:10
原創
418 人瀏覽過

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

檢索 AJAX 回應文字

使用原型使用 AJAX 時,了解如何檢索回應文字以進行進一步處理至關重要。由於 AJAX 的非同步特性,您提供的原始程式碼:

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;
}
登入後複製

可能無法傳回所需的值。這裡有一個更好的方法:

傳遞回呼函數

不要直接回傳回應,而是定義一個迴調函數作為 somefunction() 的參數。當AJAX 要求完成時,將呼叫此回呼函數:

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() 並提供回呼來處理回應文字:

somefunction(function(result){
  alert(result);
});
登入後複製

透過使用回呼函數,可以確保AJAX請求完成時處理結果,消除回應字串為空的問題。

以上是如何正確檢索 Prototype.js 中的 AJAX 回應文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板