遇到一個提交表單的問題,一開始提交的數據總是json字符串,傳不到后台方法,找了好多方法。
上個項目中我是直接表單序列化(serialize()方法),這是一個字符串類型,這次同樣想表單序列化實現ajax請求,可惜不能成功。
后來找到一方法,可以直接表單變成json對象進行ajax請求:
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
此方法可以直接對表單使用,變成json對象
傳值通過JSON.stringify(formParam)進行data傳遞
