檢索 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中文網其他相關文章!