在開發項目中,將前台的值傳給後台,有時的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("訪問異常"); } }); }