JS的Form表單轉(zhuǎn)JSON格式的操作代碼
一、serialize()方法
格式:var data = $("#formID").serialize();
功能:將表單內(nèi)容序列化成一個(gè)字符串。
注意:要使用params = decodeURIComponent(data ,true)進(jìn)行解碼,不然中文數(shù)據(jù)會亂碼。
數(shù)據(jù)示例:Name=小明&Age=22&Sex=男
后臺:獲取字符串后,可以到后臺進(jìn)行處理數(shù)據(jù)。
代碼示例:
$.ajax({
url: "ServletSelect?action=ins",
type: "post",
data: $("form").serialize(),
dataType:"json",
success: function (data) {
alert(data.msg);
}
})二、serializeArray()方法
格式:var strdata = $("#formID").serializeArray();
功能:將表單序列化成一個(gè)JSON結(jié)構(gòu)的對象。數(shù)組類型。
數(shù)據(jù)示例:(3)[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}] 獲取數(shù)據(jù)為 data [0].name
通過JSON.stringify()方法,將json數(shù)據(jù)轉(zhuǎn)成string類型,供后臺接收。
轉(zhuǎn)換類型:var str= JSON.stringify(strdata );//轉(zhuǎn)換成string數(shù)據(jù)
數(shù)據(jù)示例:”[{name:"Name",value:"小明"},{name:"Age",value:"22"},{name:"Sex",value:"男"}]”
代碼示例:
var arry = $("表單").serializeArray();
$.ajax({
url: "/index/index",
data: { jsondata: JSON.stringify(arry) },
type:"post",
success: function () {
alert("success");
}
})三、$.param()方法
格式:$.param(personObj)
功能:可以把json格式數(shù)據(jù)序列化成字符串形式
代碼示例:
var obj={a:1,b:2}
var s=$.param(obj);會形成a=1&b=2的形式
js 將json字符串轉(zhuǎn)換為json對象的方法解析
將json字符串轉(zhuǎn)換為json對象的方法。在數(shù)據(jù)傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵.
例如:
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON對象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串轉(zhuǎn)換為JSON對象
要使用上面的str1,必須使用下面的方法先轉(zhuǎn)化為JSON對象:
//由JSON字符串轉(zhuǎn)換為JSON對象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串轉(zhuǎn)換為JSON對象
或者
var obj = JSON.parse(str); //由JSON字符串轉(zhuǎn)換為JSON對象
然后,就可以這樣讀?。?/p>
Alert(obj.name);
Alert(obj.sex);
特別注意:如果obj本來就是一個(gè)JSON對象,那么使用eval()函數(shù)轉(zhuǎn)換后(哪怕是多次轉(zhuǎn)換)還是JSON對象,但是使用parseJSON()函數(shù)處理后會有問題(拋出語法異常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉(zhuǎn)化為JSON字符串。
例如:
var last=obj.toJSONString(); //將JSON對象轉(zhuǎn)化為JSON字符
或者
var last=JSON.stringify(obj); //將JSON對象轉(zhuǎn)化為JSON字符
alert(last);
注意:
上面的幾個(gè)方法中,除了eval()函數(shù)是js自帶的之外,其他的幾個(gè)方法都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個(gè)方法都注入到了 Javascript 的內(nèi)建對象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。
到此這篇關(guān)于JS的Form表單轉(zhuǎn)JSON格式的文章就介紹到這了,更多相關(guān)js form表單轉(zhuǎn)json格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Bootstrap3 內(nèi)聯(lián)單選和多選框
這篇文章主要介紹了Bootstrap3 內(nèi)聯(lián)單選和多選框的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
JavaScript中實(shí)現(xiàn)數(shù)組分組功能的方法詳解
最近,JavaScript引入了一個(gè)備受期待的功能:原生支持?jǐn)?shù)組分組,這一特性使得在處理復(fù)雜的數(shù)據(jù)集時(shí)變得更加簡單和高效,本文將深入探討這一全新的JavaScript特性,希望對大家有所幫助2023-12-12
JavaScript保存并運(yùn)算頁面中數(shù)字類型變量的寫法
這篇文章主要介紹了JavaScript保存并運(yùn)算頁面中數(shù)字類型變量的寫法,當(dāng)你在頁面中需要不停運(yùn)算一個(gè)數(shù)字變量時(shí)非常有用,普通的寫法不能正常運(yùn)算,使用本文方法就可以,需要的朋友可以參考下2015-07-07
javascript實(shí)現(xiàn)獲取指定精度的上傳文件的大小簡單實(shí)例
下面小編就為大家?guī)硪黄猨avascript實(shí)現(xiàn)獲取指定精度的上傳文件的大小簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10
用javascript實(shí)現(xiàn)計(jì)算兩個(gè)日期的間隔天數(shù)
用javascript實(shí)現(xiàn)計(jì)算兩個(gè)日期的間隔天數(shù)...2007-08-08
Echarts柱狀圖修改柱子顏色漸變及柱子圓角效果實(shí)例
在ECharts中,可以通過修改series.itemStyle.normal屬性來定制柱狀圖的柱子樣式,包括圓角和背景色漸變,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09

