首页 >web前端 >js教程 >如何正确检索 Prototype.js 中的 AJAX 响应文本?

如何正确检索 Prototype.js 中的 AJAX 响应文本?

Barbara Streisand
Barbara Streisand原创
2024-12-18 10:58:10426浏览

How Can I Properly Retrieve AJAX Response Text in Prototype.js?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn