首頁 >web前端 >js教程 >如何使用 Prototype 的「onComplete」處理程序存取 AJAX 回應文字?

如何使用 Prototype 的「onComplete」處理程序存取 AJAX 回應文字?

Barbara Streisand
Barbara Streisand原創
2024-12-12 12:41:11776瀏覽

How Can I Access AJAX Response Text Using Prototype's `onComplete` Handler?

在原型中取得 AJAX 回應文字

AJAX 回應通常採用文字格式,檢索此文字對於進一步處理至關重要。 Prototype 提供了一種方便的方法來存取此回應文本,但需要對通常的方法稍作調整。

在程式碼片段中,onComplete 事件處理程序是應該取得回應文字的位置。然而,由於非同步操作,初始實作中的「result」變數在 onComplete 函數之外無法存取。

為了克服這個問題,Prototype 的 onComplete 處理程序允許使用回呼函數作為參數。這個回呼函數在AJAX請求完成時執行,它可以接收responseText作為參數。

修改後的程式碼如下:

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

這種方法確保回應文字可以在回調函數中訪問,從而允許進一步處理或顯示。

以上是如何使用 Prototype 的「onComplete」處理程序存取 AJAX 回應文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn