为了账号安全,请及时绑定邮箱和手机立即绑定

javascript回调函数中如何传参?

javascript回调函数中如何传参?

潇湘沐 2019-02-05 10:07:56
我包装了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)显然都不行,如之奈何?求助~~~
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

代码如下:
function a(callback){

var m = 1;

var n = 2;

alert(callback(m,n));

}

function b(m,n){

return m+n;

}

a(b);

执行效果,弹出数字3

查看完整回答
反对 回复 2019-03-17
?
SMILET

TA贡献1796条经验 获得超4个赞

function doAjax(u,param,callback){
$.ajax({
type:'POST',
url:u,
data:param,
success:callback
});
}

function showAlert(data,test1,test2){

alert(data+" "+test1+" "+test2);
}

window.onload = doAjax("server","id=12&type=1",function(data){showAlert(data,3,5)});
调用doajax的时候,回调函数的写法变一下,就可以了。

我把你server的后缀名去掉了,免得审核不过,你加下。
测试过没有问题。



查看完整回答
反对 回复 2019-03-17
?
郎朗坤

TA贡献1921条经验 获得超9个赞

给你看看我写的吧。我的是J2EE,原理都是一样的。

<form name="frm_add" id="frm_add" method="post" enctype="multipart/form-data" >
。。。。。表单域。。。。
<input type="button" value="保存" onclick="doSave()" icon="icon-save"/>
<input type="reset" value="清除"/>
</form>
//表单提交的时候,先给他验证,如果你是想测试,这个可以不需要。
function doSave(){
var data = checkinput();
if (data==false){
return;
}
if (data){
//提交操作
if (repeatSubmit){
return ;
}else{
repeatSubmit = true;
}
submit();
}
}
//表单真正的提交函数
function submit(){
var options = {
url: ****你的URL*****,
success: callback, // post-submit callback 表单提交成功后被调用的回调函数
type: 'post', // 'get' or 'post', override for form's 'method' attribute
dataType: 'json' // 'xml', 'script', or 'json' (expected server response type)
};
$('#frm_add').ajaxSubmit(options);
}
//验证表单函数
function checkinput(){
。。。。验证主体。。。。
return true;
}
//表单提交后反回的函数,回调函数
function callback(data){
。。。回调主体。。。
}



查看完整回答
反对 回复 2019-03-17
  • 3 回答
  • 0 关注
  • 678 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信