检索 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中文网其他相关文章!