JQuery UI

推荐列表 站点导航

当前位置:首页 > jquery > JQuery UI >

AJAX_ajax回调函数参数传递正确方法,属性方法是可以带参数: 复制

来源:网络整理  作者:  发布时间:2020-12-21 17:40
ajax回调函数参数传递正确方法,属性方法是可以带参数: 复制代码 代码如下: function ClassX(name) { this.name = name; ClassX.pr...
        a=this.a;
var o = new ClassX("name");
xmlHttp.a=a;

复制代码 代码如下:


其中就传递了a和b两个参数。


};

复制代码 代码如下:

ClassX.prototype.show = function (param) {

复制代码 代码如下:


xmlHttp.b=b;

o.show("param");//name param
时就不好使了,因为此时ajax根本就没有给你传递param参数,正确做法形如:
request.onreadystatechange=callBack;function callBack(param){...}
    {

ajax传递参数给onreadystatechange的回调函数
orgEval(request, pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质
这样通过在匿名函数内调用回调实现函数,并且直接传入参数即可。

.
request.onreadystatechange = function () {//正确作法
{
function ClassX(name) {
//request.onreadystatechange = function (request, pOrgName) {//错误作法

属性方法是可以带参数:
//request.onreadystatechange = orgEval;//错误作法

        b=this.b;
alert(this.name + " " + param);
}
xmlHttp.onreadystatechange=callback;

    if(this.readyState==4)

后来我又自己发现了个方法,方法知道的人肯定很多,不过我在baidu上没搜到,这里就写出来,推广下咯。

//};
也就是给xmlHttp对象增加两个属性,在回调函数中直接用this调用那两个属性。



xmlHttp.onreadystatechange=function(){callback(a,b);};

function callback()
    .



    }


function orgEval(req, orgName){
但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o.show('param')时,而是通过其他函数回调传入时,就不一定好使了,因为别人在调用此方法时不一定给你传入此参,比如在使用ajax时

这几天开始学习ajax,其中自己做试验页面时有了传参数给XMLHttpRequest.onreadystatechange的回调函数这个需求。如是baidu了下,发现说到这个的人不少啊。搜来的办法大概是这样:

//...
//...

// orgEval(request, pOrgName);
}

另外说点自己的小经验,xmlHttp最好要写成全局变量,我一开始发现总有些请求没达到目的。后来才发现是把xmlHttp写在了一个函数里面,当那个函数运行完了,xmlHttp生命周期也结束了。这样有些请求在生命周期结束之前就实现了,而有些请求就没了。

request.onreadystatechange=function(param){...}
};


//...


this.name = name;
.
}

相关热词: 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/ui/6723.shtml

最新文章
django 项目怎么创建超级用 django 项目怎么创建超级用

时间:2020-12-19

热门文章
django 项目怎么创建超级用户 django 项目怎么创建超级用户

时间:2020-12-19

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

AJAX_ajax回调函数参数传递正确方法,属性方法是可以带参数: 复制

2020-12-21 编辑:

        a=this.a;
var o = new ClassX("name");
xmlHttp.a=a;

复制代码 代码如下:


其中就传递了a和b两个参数。


};

复制代码 代码如下:

ClassX.prototype.show = function (param) {

复制代码 代码如下:


xmlHttp.b=b;

o.show("param");//name param
时就不好使了,因为此时ajax根本就没有给你传递param参数,正确做法形如:
request.onreadystatechange=callBack;function callBack(param){...}
    {

ajax传递参数给onreadystatechange的回调函数
orgEval(request, pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质
这样通过在匿名函数内调用回调实现函数,并且直接传入参数即可。

.
request.onreadystatechange = function () {//正确作法
{
function ClassX(name) {
//request.onreadystatechange = function (request, pOrgName) {//错误作法

属性方法是可以带参数:
//request.onreadystatechange = orgEval;//错误作法

        b=this.b;
alert(this.name + " " + param);
}
xmlHttp.onreadystatechange=callback;

    if(this.readyState==4)

后来我又自己发现了个方法,方法知道的人肯定很多,不过我在baidu上没搜到,这里就写出来,推广下咯。

//};
也就是给xmlHttp对象增加两个属性,在回调函数中直接用this调用那两个属性。



xmlHttp.onreadystatechange=function(){callback(a,b);};

function callback()
    .



    }


function orgEval(req, orgName){
但是,上面是虽然是直接在函数签名中定义了参考,如果不是自己调用o.show('param')时,而是通过其他函数回调传入时,就不一定好使了,因为别人在调用此方法时不一定给你传入此参,比如在使用ajax时

这几天开始学习ajax,其中自己做试验页面时有了传参数给XMLHttpRequest.onreadystatechange的回调函数这个需求。如是baidu了下,发现说到这个的人不少啊。搜来的办法大概是这样:

//...
//...

// orgEval(request, pOrgName);
}

另外说点自己的小经验,xmlHttp最好要写成全局变量,我一开始发现总有些请求没达到目的。后来才发现是把xmlHttp写在了一个函数里面,当那个函数运行完了,xmlHttp生命周期也结束了。这样有些请求在生命周期结束之前就实现了,而有些请求就没了。

request.onreadystatechange=function(param){...}
};


//...


this.name = name;
.
}

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/ui/6723.shtml

相关文章

风云图片

推荐阅读

返回JQuery UI频道首页