问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ajax回调函数怎样传递参数

发布网友 发布时间:2022-04-26 04:55

我来回答

4个回答

懂视网 时间:2022-05-14 22:47

这篇文章主要介绍了关于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生命周期也结束了。这样有些请求在生命周期结束之前就实现了,而有些请求就没了。

热心网友 时间:2022-05-14 19:55

  具体的传递参数的语句是:xmlHttp.onreadystatechange=function(){callbackFun(参数);}
  关于ajax回调函数的定义及用法:
ajax() 方法通过 HTTP 请求加载远程数据。
  该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下无需直接操作该函数,除非需要操作不常用的选项,以获得更多的灵活性。
  最简单的情况下,$.ajax() 可以不带任何参数直接使用。
  注意:所有的选项都可以通过 $.ajaxSetup() 函数来全局设置。

热心网友 时间:2022-05-14 21:13

《ajax回调函数怎样传递参数 》

直接是不能的,定义全局变量可以,但是会很容易遇到问题。

这是因为:ajax回调发生的时候,和载入页面不是同一时刻,它是异步的。所以不能够传递参数。你可以想办法在服务器端把这个id返回过来,比如返回的前10个字节是id。最后你再把这个文件头给摘出来单独处理。

热心网友 时间:2022-05-14 22:48

Function.prototype.pass: function(args){ var self = this; args = args || []; return function(){ var _args = args; var returns = function(){ return self.apply(window, _args); }; return returns(); }; }
代码参考mootools,传递参数进去的时候要用数组,例如funName.pass([arg1, arg2, arg3])
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 不交汇算清缴报告要罚款吗 怎么用jquery ajax 传递两个页面的值 调音台有电流声 企业不按时汇算清缴会有什么后果呢? 改善的五笔怎么打 通过调音台输出怎么变成5.1的声道 ajax send发送两个参数,后台怎么获取 调音台音效不好,老闪红灯? 改字五笔怎么打出来 用JQuery.ajax方法,用post方式传两个int类型的参数给后台tomcat服务器... 调音台上的INSERT,PHONES,AUX,分别是接什么设备的,用什么线,怎么连接的? 个人所得税没有汇算清缴会有什么后果 雅马哈调音台emx2300可以连电脑吗? jquery ajax如何传多个值到后台页面 ajax 和 post 传多个参数值具体怎么写 个人所得税汇算清缴不做会有怎样的后果 soundcraft 调音台电流声太大怎么调试? ajax在PHP中怎样一次传递两个值 沃福德尔调音台操作知识有谁知道? js ajax 如何传递多个参数??? 关于【Cubase SX】有什么好的教程啊? 汇算清缴迟了申报会有什么后果? AJAX如何将参数带到并传给另一个页面 请问个人所得税汇算清缴如果不办理会怎么样 改字五笔输入为nty,改字组词及带改字的成语有哪些 改字的五笔怎么写 如何不做企业所得税汇算清缴,法人代表要负什么责任呀?会对法人代表有什么样的影响? 企业不进行汇算清缴会怎么样? 应字,改字,知字,央,办,非,基,身,草字五笔怎样打? 五笔改字要怎么打 联想笔记本开机后出现自动修复,你的电脑未正确启动,该怎么办 没做个人所得税汇算清缴会不会影响购买社保? 请问,改字五笔怎么打,谢谢了 我想请问一下,如果企业不做汇算清缴可以吗?如果要做的话,企业会不会交很多的税,要如何处理比较合理呢 五笔中的“改”字怎么打? 自动修复你的电脑未正确启动怎么办? 我在给图片添加文字时,怎么才能把输入法改变成五笔或者是拼音输入法 改革用五笔怎么打 我的电脑给人设了五笔打字,我想改回拼音打字怎么弄? - 信息提示