搜索
首页 电脑/网络

ajax回调函数参数传递正确方法

全部回答

2023-03-24

0 0

    这篇文章主要介绍了关于ajax回调函数参数传递正确方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下ajax回调函数参数传递正确方法,很多朋友习惯的写错了,这里简单的小结下。
  属性方法是可以带参数:function ClassX(name) { this。  name = name; ClassX。prototype。show = function (param) { alert(this。
  name + " " + param); }; } var o = new ClassX("name"); o。show("param");//name param但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o。
    show('param')时,而是通过其他函数回调传入时,就不一定好使了,因为别人在调用此方法时不一定给你传入此参,比如在使用ajax时request。
  onreadystatechange=function(param){。}或request。onreadystatechange=callBack;function callBack(param){。
    }时就不好使了,因为此时ajax根本就没有给你传递param参数,正确做法形如://request。onreadystatechange = orgEval;//错误作法 //request。
  onreadystatechange = function (request, pOrgName) {//错误作法 // orgEval(request, pOrgName); //}; //。
     request。onreadystatechange = function () {//正确作法 orgEval(request, pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质 }; //。
   function orgEval(req, orgName){ //。   }这样通过在匿名函数内调用回调实现函数,并且直接传入参数即可。ajax传递参数给onreadystatechange的回调函数这几天开始学习ajax,其中自己做试验页面时有了传参数给XMLHttpRequest。
  onreadystatechange的回调函数这个需求。  如是baidu了下,发现说到这个的人不少啊。搜来的办法大概是这样:xmlHttp。onreadystatechange=function(){callback(a,b);};其中就传递了a和b两个参数。
  后来我又自己发现了个方法,方法知道的人肯定很多,不过我在baidu上没搜到,这里就写出来,推广下咯。  xmlHttp。a=a;xmlHttp。b=b;xmlHttp。onreadystatechange=callback;function callback(){ if(this。
  readyState==4) { a=this。a; b=this。b; 。 }}也就是给xmlHttp对象增加两个属性,在回调函数中直接用this调用那两个属性。  另外说点自己的小经验,xmlHttp最好要写成全局变量,我一开始发现总有些请求没达到目的。
  后来才发现是把xmlHttp写在了一个函数里面,当那个函数运行完了,xmlHttp生命周期也结束了。这样有些请求在生命周期结束之前就实现了,而有些请求就没了。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
电脑/网络
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
举报
举报原因(必选):
取消确定举报