1. 程式人生 > >玩轉web之json(五)---將表單通過serialize()方法獲取的值轉成json

玩轉web之json(五)---將表單通過serialize()方法獲取的值轉成json

form表單有一個serialize()方法,可以序列化表單的值,但是jquery提供的這個方法會把資料序列化為類似下面的形式:

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