首页 > web前端 > js教程 > 如何在 Prototype.js 中可靠地检索 AJAX 响应文本?

如何在 Prototype.js 中可靠地检索 AJAX 响应文本?

Linda Hamilton
发布: 2024-12-13 22:26:12
原创
416 人浏览过

How to Retrieve AJAX Response Text Reliably in Prototype.js?

原型中的 AJAX 响应文本检索

在基于原型的 AJAX 开发中,获取响应文本可能具有挑战性。一种常见的方法是利用 onComplete 回调,如下所示:

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;
}
登录后复制

但是,由于 AJAX 请求的异步特性,这种方法通常会导致结果变量为空。 onComplete 回调在 somefunction 完成后调用,导致时间不匹配。

要解决此问题,必须将回调函数作为参数传递给 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(function(result){
  alert(result);
});
登录后复制

在此场景中,回调函数在 onComplete 处理程序中调用,确保响应文本可用当主函数完成时。然后,传递的回调可以使用响应文本进行进一步处理。

以上是如何在 Prototype.js 中可靠地检索 AJAX 响应文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

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