问
- <span style="font-size:14px;">我包装了jQuery的ajax方法
- function doAjax(u,param,callback){
- $.ajax({
- type:'POST',
- url:u,
- data:param,
- success:callback
- });
- }
- function showAlert(data){
- alert(data);
- }
- 比如这样调用 doAjax("server.php","id=12&type=1",showAlert);
- $.ajax 在success后,会返回一个data到showAlert中,显示出来 ,没有问题.
- 可是,当我想多传一个参数给showAlert时怎么写?
- 写成doAjax("server.php","id=12&type=1",showAlert("hi",data))、或者把上面的success:callback 写成success:callback(msg,data)显然都不行,如之奈何?求助~~~</span>
答
- <span style="font-size:14px;color:#333333;">简单,很多方法都定义了回调函数,回调函数也是函数,就是说不管怎么传,只需要是个函数类型即可。写法如下。
- 方式1,
- doAjax(参数1,参数2,function(request,opts){
- callback(request,opts,agrs);
- });
- function callback(request,opts,args){
- };
- 方式2,
- var args=N;
- doAjax(参数1,参数2,function(request,opts){
- var X=N;
- 回调函数代码块..
- 和以上几乎一样,看个人编码方式选择。
- });</span>