玩轉web之json(五)---將表單通過serialize()方法獲取的值轉成json
阿新 • • 發佈:2019-02-14
form表單有一個serialize()方法,可以序列化表單的值,但是jquery提供的這個方法會把資料序列化為類似下面的形式:
使用方法:先在頁面匯入上面的js檔案,然後
a=1&b=2&c=3&d=4
jquery並沒有提供將表單資料序列化為json的方法,所以需要我們自己封裝一下,下面給出程式碼和測試樣例,先寫一個js檔案:
$.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=utf-8" }); var DataDeal = { //將從form中通過$('#form').serialize()獲取的值轉成json formToJson: function (data) { data=data.replace(/&/g,"\",\""); data=data.replace(/=/g,"\":\""); data="{\""+data+"\"}"; return data; }, };
使用方法:先在頁面匯入上面的js檔案,然後
var data=$('#addf').serialize();//獲取值
data= decodeURIComponent(data,true);//防止中文亂碼
var json=DataDeal.formToJson(data);//轉化為json