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

久日必见人心c

久日必见人心c

2016-02-19 10:08

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐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上没搜到,这里就写出来,推广下咯。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

代码如下:

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生命周期也结束了。这样有些请求在生命周期结束之前就实现了,而有些请求就没了。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

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

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

让回调函数 showResponse 也带上参数的代码

Web开发
让回调函数 showResponse 也带上参数的代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

传递参数的标准方法(jQuery.ajax)

Web开发
传递参数的标准方法(jQuery.ajax)

ajax传递多个参数具体实现

Web开发
ajax传递多个参数具体实现

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ajax传递一个参数具体实现

Web开发
ajax传递一个参数具体实现

异步消息的传递之回调机制

编程语言 网络编程
异步消息的传递之回调机制

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

android 通过向viewpage中添加listview来完成滑动效果(类似于qq滑动界面)

android 通过向viewpage中添加listview来完成滑动效果(类似于qq滑动界面)

JavaScript进阶教程(第四课第一部分)

JavaScript进阶教程(第四课第一部分)
下拉加载更多内容 ↓