在開發專案中,將前台的值傳給後台,有時的JSP表單中的值有一兩個,也有全部的值,如果這時一個個傳,必定不是很好的辦法,所以使用jQuery提供的表單序列化方法,可以很好的解決這個問題,同時可以封裝成通用的函數,執行成功可以呼叫各自的回呼函數,實現各自的功能。
程式碼如下:
function queryUserInfo(actionUrl,formId,fun){ var params=new Object(); //声明数组 $.each($("#"+formId).serializeArray(),function(index,param){ params[param.name] = param.value; //序列化表单 }); params['time']=new Date(); //1 $.ajax( { url : basePath+actionUrl, data : params,//没有1,可以这样写("#"+formId).serializeArray() type : 'POST', dataType:'json', async: false,//表示同步,等待服务端返回数据,才会执行后面的代码 success : function(obj) { fun(actionUrl,formId,obj); }, error: function() { alert("访问异常"); } }); }
另一種方式:
function setUserInfo(actionUrl,userid,username,fun){ var params=new Object(); //声明数组 params['user.id']=userid; params['user.name']=username; $.ajax( { url : actionUrl, data : params,//没有1,可以这样写("#"+formId).serializeArray() type : 'POST', dataType:'json', async: false,//表示同步,等待服务端返回数据,才会执行后面的代码 success : function(obj) { fun(actionUrl,formId,obj);//调用回调的函数 }, error: function() { alert("访问异常"); } }); }