功能需求:后台返回狀態info
框架:SpringMVC
前后台交互方式選擇:ajax 而不是表單提交。
-
前台傳數據到后台
需將form表單進行序列化
采用jQuery內置的系列化方式 serialize
$("form").eq(0).serialize();
但所得到的結果並不是我們所想要的樣子,可自行再試遍。
后來采用了其插件 serializeObject$.fn.serializeObject = function () {
var obj = {};
var count = 0;
$.each(this.serializeArray(), function (i, o) {
var n = o.name, v = o.value;
count++;
obj[n] = obj[n] === undefined ? v
: $.isArray(obj[n]) ? obj[n].concat(v)
: [obj[n], v];
});
//obj.nameCounts = count + "";//表單name個數
return JSON.stringify(obj);
};這樣就得到了,我們想得到的結果。(雖然這代碼還是有些Bug,例如復選框之內的,但對於我的代碼而言是可以的了。)
var subjectData = $("form").eq(1).serializeObject();
var url ="<%=request.getContextPath()%>/{0}";
$.post(url,{"subjectData":subjectData},function(data){
console.log(data.info);
}); -
后台接受前台數據
和正常一樣,用 @RequestParam注解
緊接着我是采用gson方式將json格式數據解析成VO對象。
本人博客:Gson解析
