jquery序列化導致空格變 號

2021-08-18 09:38:02 字數 816 閱讀 9948

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...