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

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

Barbara Streisand
发布: 2024-12-18 10:58:10
原创
416 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板