在jquery下我想多个function共用一个ajax
$(document).ready(function(){
$("#reg").bind("click",enter);
$("#del").bind("click",del);
function enter(){
name = $("#name").val();
password=$("#password").val();
password1=$("#password1").val();
if(password==password1){
param={"name":name,"password":password,"act":"insert"};
}else{
alert("对不起,两次密码不一致");
return false;
}
$.ajax({
contentType:"application/x-www-form-urlencoded; charset=utf-8", 
type:'post',
url:'reg.php',
data:param,
async:false,
success: function(msg){
alert(msg);}
});
};
function del(){
name =$("#delname").val();
password=$("#delpassword").val();
param={"name":name,"password":password,"act":"delete"};
$.ajax({
contentType:"application/x-www-form-urlencoded; charset=utf-8", 
type:'post',
url:'reg.php',
data:param,
async:false,
success: function(msg){
alert(msg);}
});
}
});请问如何实现多个function共用一个ajax呢? 每个function都要写个ajax也太不简洁了

解决方案 »

  1.   

    ajax单独写个function,调用就是了
      

  2.   

    是这样写吗?
    $(document).ready(function(){
    $("#reg").bind("click",enter);
    $("#del").bind("click",del);
    function enter(){
    name = $("#name").val();
    password=$("#password").val();
    password1=$("#password1").val();
    if(password==password1){
    param={"name":name,"password":password,"act":"insert"};
    }else{
    alert("对不起,两次密码不一致");
    return false;
    }
    ajaxRequest(param);
    };
    function del(){
    name =$("#delname").val();
    password=$("#delpassword").val();
    param={"name":name,"password":password,"act":"delete"};
    }
    ajaxRequest(param);
    });function ajaxRequest(param){
    $.ajax({
    contentType:"application/x-www-form-urlencoded; charset=utf-8", 
    type:'post',
    url:'reg.php',
    data:param,
    async:false,
    success: function(msg){
    alert(msg);}
    });
    }
      

  3.   

    是的不行 浏览器报错param没有定义...
      

  4.   

    你看看你调ajaxRequest的地方,是不是已经在方法外面了;
    要会调试嘛
      

  5.   

    你看看你调ajaxRequest的地方,是不是已经在方法外面了;
    要会调试嘛不会调试啊
      

  6.   

    ajaxRequest(param);这句话已经在del()方法外面啦
      

  7.   

    ajaxRequest(param);这句话已经在del()方法外面啦谢谢提醒,括号没有带缩进的,我也看花了
      

  8.   

            function del() {
                name = $("#delname").val();
                password = $("#delpassword").val();
                param = { "name": name, "password": password, "act": "delete" };
            ajaxRequest(param);
            }
         ajaxRequest(param); 这句发错位置了