javascript回调函数中如何传参
我包装了jQuery的ajax方法functiondoAjax(u,param,callback){$.ajax({type:'POST',url:u,data:para...
我包装了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)显然都不行,如之奈何?求助~~~ 展开
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个回答
展开全部
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的后缀名去掉了,免得审核不过,你加下。
测试过没有问题。
$.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的后缀名去掉了,免得审核不过,你加下。
测试过没有问题。
展开全部
给你看看我写的吧。我的是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){
。。。回调主体。。。
}
<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){
。。。回调主体。。。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-10-06 · 知道合伙人互联网行家
关注
展开全部
代码如下:
function a(callback){
var m = 1;
var n = 2;
alert(callback(m,n));
}
function b(m,n){
return m+n;
}
a(b);
执行效果,弹出数字3
function a(callback){
var m = 1;
var n = 2;
alert(callback(m,n));
}
function b(m,n){
return m+n;
}
a(b);
执行效果,弹出数字3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询