Webのjsonを遊ぶ(5)---フォームがserialize()メソッドで取得した値をjsonに変換する

944 ワード


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