js回调函数在项目中的运用

js回调函数用处非常多,现在我就简单的介绍点基础的
代码:

var senderId = $.cookie("senderId");
var secToken = $.cookie("secToken");
var userName = $.cookie("userName");
var urlPath = "../../develop/";

var popu;
var popu2;
var seme = [];



//写一个绑定课程的方法

var  registerCourse = {


     getCurrentSemester:function(jsondata){
        var  action = "Lab_getCurrentSemester";

        return  ajaxdata(action,jsondata);

     },

     getCourse:function(jsondata){
        var action = "Lab_getLabCourseList";

        return ajaxdata(action,jsondata);   

     }

 }


function ajaxdata(action,jsondata){


    var returnvalue ;
    var callback = function(func,msg){

        return func(msg);
    }
    var func = function(msg){

        console.log("回调函数执行了");
        console.log(msg);


        returnvalue = msg;

        console.log(returnvalue);
        //获取学期的判断
        if(msg.localSemester !=null){

            returnvalue = msg.localSemester;
        }
        //课程的数据
        if(msg.localCourselist !=null){

            returnvalue = msg.localCourselist;
        }


        return returnvalue;
    }





    $.ajax({
        async:false,
        dataType:"json",
        type:"post",
        url:urlPath+action,
        data:jsondata,
        success:function(msg){

            console.log(msg);

            console.log("success");

            console.log(func+msg.localSemester)

            callback(func,msg);
        },
        error:function(){

            alert("请求失败");
        }

    })


    console.log(returnvalue);
    return returnvalue;
}



//alert(registerCourse.getCurrentSemester(jsondata));



$(function() { 
    //注册课程的操作

    $("#registercourse").click(function(){

        $(".xiaochu").remove();
        var year = $("#year").val();
        var semester = $("#semester").val();

        console.log(year+semester);
        //changesemester(semester);


        $("#yearin").val(year);

        console.log(changesemester(semester));

        $("#semesterin").val(changesemester(semester));

        var jsondata ={
                senderId:senderId,  
                secToken:secToken,
                semester:semester,
                year:year,
        }
        var semester =  registerCourse.getCurrentSemester(jsondata);


        var course =  registerCourse.getCourse(jsondata);


        console.log("获取结果");
        console.log(semester);

        console.log(course);


            $.each(course ,function(index,row){

                console.log(row);
                if(row.localName != null){
                    $("#coursecodein").append("<option class='xiaochu' value="+row.localCourseCode+">"+row.localName+"</option>");

                }

            })

        $("#mymodal").modal("toggle");
      });


    )}

我们在webservice的项目或者其他项目中经常出现这样的操作,ajax请求数据,服务器的得到相应给数据,处理数据,页面上的action调用数据,这段代码的思想就是封装一个函数类,action时候调用类,给变量调用类的方法,将共有的部分封装ajaxdata函数里面回调函数获取ajaxsuccess的数据,并处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值