在原型中取得 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中文網其他相關文章!