首頁 > web前端 > js教程 > 如何在 Prototype.js 中可靠地檢索 AJAX 回應文字?

如何在 Prototype.js 中可靠地檢索 AJAX 回應文字?

Linda Hamilton
發布: 2024-12-13 22:26:12
原創
417 人瀏覽過

How to Retrieve AJAX Response Text Reliably in Prototype.js?

原型中的 AJAX 回應文字擷取

在基於原型的 AJAX 開發中,取得回應文字可能具有挑戰性。常見的方法是利用 onComplete 回調,如下所示:

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

但是,由於 AJAX 請求的非同步特性,這種方法通常會導致結果變數為空。 onComplete 回呼在 somefunction 完成後調用,導致時間不匹配。

要解決此問題,必須將回呼函數作為參數傳遞給 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(function(result){
  alert(result);
});
登入後複製

在此場景中,回呼函數在onComplete 處理程序中調用,確保響應文字可用當主函數完成時。然後,傳遞的回調可以使用回應文字進行進一步處理。

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

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