通過$("#form").serialize()可以獲取到序列化的表單值字符串。

在恩陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,恩陽網(wǎng)站建設(shè)費用合理。
通過$("#form").serializeArray()輸出以數(shù)組形式序列化表單值。
統(tǒng)統(tǒng)不滿足想得到Json的愿望。堆棧溢出后,找到了一個這樣的方法
然后通過JSON.stringify($("#form").serializeObject()); 就可以得到Json內(nèi)容
serialize()、serializeArray()方法都是jquery用戶序列化表單的,用于ajax提交的data值的序列化
在chrome的控制臺我們很清楚的看到了serializeArray()返回的是json數(shù)組,數(shù)組的每個對象都是有json字符串構(gòu)成,我們可以看到,每個json字符串包括兩個鍵值對,每個鍵值對都是有name,value組成,其實serializeArray()它把表單里的每個需要提交的dom的name的值賦給json字符串的name,dom的value的值賦給json字符串的value.
那么我們只需這要添加額外的內(nèi)容:
var dataParam = $("#updateChannelForm").serializeArray();
例如我想添加sex="男"
dataParam.push({"name":"sex","value":"男"}) 就可以了
我們看到serialize()方法把表單里的內(nèi)容序列化成了字符串
"id=58channelType=2subTitle=591teststetetsextAttrValueId=599"
那么我們只需這要添加額外的內(nèi)容:
var dataParam = $("#updateChannelForm").serialize();
例如我想添加sex="男"
dataParam =dataParam +""+"sex=男"
這是因為后臺能夠直接處理的數(shù)據(jù)格式,是一種經(jīng)過序列化的鍵值對數(shù)據(jù),比如前端要向后臺提交三個參數(shù),分別是a=1,b=2,c=3,那么后臺接收到的數(shù)據(jù)就應(yīng)該是a=1b=2c=3(可以看到其實就是每個“鍵值對”之間用連接)。當我們用get方式提交數(shù)據(jù)時,參數(shù)是直接附加到url后面的,即
xxx.xxx這是域名此略.xxx?a=1b=2c=3
可以看到?后面的正是后臺程序能夠直接處理的數(shù)據(jù)格式,所以get方式提交數(shù)據(jù)的話,就不需要再對參數(shù)進行序列化處理了,直接提交即可。
而當我們用post方式提交時,通常我們提交的數(shù)據(jù)本身就是一個json對象,比如說像這樣的:
var data = {a:1, b:2, c:3};
而提交時數(shù)據(jù)是直接以原始格式存儲在body中而不是以鍵值對的方式附加到url中的,所以后臺程序是無法直接識別的,這時候就需要在提交前先把data轉(zhuǎn)換為 a=1b=2c=3 的格式再提交,這就是序列化。
當然,如果數(shù)據(jù)是通過表單提交的,那么不管是post方式還是get,瀏覽器會自動進行序列化,無需前端js再做任何處理。
本文名稱:jquery序列化,javascript 序列化
鏈接地址:http://chinadenli.net/article39/dsipgph.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、虛擬主機、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、標簽優(yōu)化、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)