jquery的 serialize()方法,可以對錶單項進行序列化,這本來是很方便的乙個功能;但是實際使用中去發現了如下問題:
< textarea name="content">abc 123 < / textarea >在執行 serialize()方法後,得到的卻是 abc+123 這樣的字串;
即jquery的序列化方法對空格進行了轉義,轉換成了 + 號。
jquery中serialize方法的部分**如下所示:
//.................
//.................
return s.join("&").replace(/ /g, "+"); //替換空格為 + 號
測試了一下,serialize()方法對真正的「+」號轉義的是 %2b,所以可以放心的對serialize()後的結果進行符號替換
例:< textarea name="content">abc + 123 + 456 < / textarea >
jquery**:
var a= $('$frm1').serialize(); //序列化,缺省會呼叫encodeuricomponent()進行編碼
alert(a); // content=abc+++123+++456
var b = a.replace(/\+/g," "); // g表示對整個字串中符合條件的都進行替換
b = decodeuricomponent(b); //對serialize後的內容進行解碼
alert(b); // content=abc + 123 + 456
至此,問題解決了。
jquery表單序列化
例項 輸出序列化表單值的結果 複製 如下 button click function 定義和用法 serialize 方法通過序列化表單值,建立 url 編碼文字字串。您可以選擇乙個或多個表單元素 比如 input 及 或 文字框 或者 form 元素本身。序列化的值可在生成 ajax 請求時用於 ...
jQuery序列化Html表單
將任意乙個jquery物件進行表單序列化,免除了提交請求時大量拼寫表單資料的煩惱,支援鍵值對格式和json格式。擴充套件jquery表單序列化函式 消除了jquery.serialize 只能對form進行序列化的侷限 該外掛程式可以對任意jquery物件進行序列化 返回資料格式有兩種 1.預設 2...
Gson反序列化 int型別變double型別
經網上資料查詢,序列化的邏輯在 com.google.gson.internal.bind.objecttypeadapter 類中。將原始碼拷貝出來,修改 number 處理邏輯。override public object read jsonreader in throws ioexceptio...