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的数据,并处理。