中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在jquery中使用param()實現數組或對象的序列化

發布時間:2021-05-20 16:18:44 來源:億速云 閱讀:183 作者:Leah 欄目:web開發

怎么在jquery中使用param()實現數組或對象的序列化?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

jQuery.param( obj ):

創建適用于URL查詢字符串或Ajax請求的數組,普通對象或jQuery對象的序列化表示形式。 如果jQuery對象被傳遞,它應該包含具有name / value屬性的輸入元素。

jQuery.param( obj ): obj:
 
類型:Array或PlainObject或jQuery
 一個數組,一個普通的對象,或一個jQuery對象進行序列化。
 jQuery.param( obj, traditional ):
 
obj:
 
類型:Array或PlainObject或jQuery
 一個數組,一個普通的對象,或一個jQuery對象進行序列化。
 
traditional :

 類型:布爾值
 一個布爾值,表示是否執行傳統的“淺”序列化。

內部使用此函數將表單元素值轉換為序列化字符串表示形式(有關更多信息,請參閱.serialize())。

從jQuery 1.3開始,使用函數的返回值代替函數作為String。

從jQuery 1.4開始,$ .param()方法遞歸序列化深層對象,以適應現代腳本語言和框架,如PHP和Ruby on Rails。

您可以通過設置jQuery.ajaxSettings.traditional = true來全局禁用此功能。從jQuery 3.0開始,$ .param()方法不再使用jQuery.ajaxSettings.traditional作為其默認設置,默認為false。

為了跨版本的最佳兼容性,請調用$ .param()和第二個參數的顯式值,并且不要使用默認值。如果傳遞的對象在數組中,則它必須是由.serializeArray()返回的格式的對象數組。

[
 { name: "first", value: "Rick" },
 { name: "last", value: "Astley" },
 { name: "job", value: "Rock Star" }
]

注意:由于某些框架解析序列化數組的能力有限,因此開發人員在傳遞包含嵌套在另一個數組中的對象或數組的obj參數時應謹慎。

注意:由于沒有普遍約定的param字符串規范,所以不可能以支持此類輸入的所有語言的理想方式對使用此方法的復雜數據結構進行編碼。 使用JSON格式替代編碼復雜數據。

在jQuery 1.4中,HTML5輸入元素也被序列化。我們可以顯示一個對象的查詢字符串表示形式和一個URI解碼版本,如下所示:

var myObject = {
 a: {
 one: 1,
 two: 2,
 three: 3
 },
 b: [ 1, 2, 3 ]
};
var recursiveEncoded = $.param( myObject );
var recursiveDecoded = decodeURIComponent( $.param( myObject ) );
alert( recursiveEncoded );
alert( recursiveDecoded );

shallowEncoded和shallowDecoded的值彈出如下:

a=%5Bobject+Object%5D&b=1&b=2&b=3 
a=[object+Object]&b=1&b=2&b=3

舉例:

序列化一個鍵/值對象。

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>jQuery.param demo</title>
 <style>
 div {
 color: red;
 }
 </style>
 <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div id="results"></div>
 
<script>
var params = { width:1680, height:1050 };
var str = jQuery.param( params );
$( "#results" ).text( str );
</script>
 
</body>
</html>

演示:

序列化一些復雜的對象

// <=1.3.2:
$.param({ a: [ 2, 3, 4 ] }); // "a=2&a=3&a=4"
// >=1.4:
$.param({ a: [ 2, 3, 4 ] }); // "a[]=2&a[]=3&a[]=4"
 
// <=1.3.2:
$.param({ a: { b: 1, c: 2 }, d: [ 3, 4, { e: 5 } ] });
// "a=[object+Object]&d=3&d=4&d=[object+Object]"
 
// >=1.4:
$.param({ a: { b: 1, c: 2 }, d: [ 3, 4, { e: 5 } ] });
// "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"

jquery是什么

jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈式語法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發網站。

關于怎么在jquery中使用param()實現數組或對象的序列化問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵阳市| 康保县| 通河县| 三穗县| 墨竹工卡县| 景德镇市| 长治市| 太白县| 建瓯市| 固原市| 广州市| 龙江县| 紫金县| 富平县| 三门县| 十堰市| 额敏县| 门源| 临江市| 昌乐县| 涿州市| 邯郸县| 华阴市| 扎囊县| 鹤山市| 浮梁县| 肇源县| 吉木乃县| 中超| 蒲江县| 将乐县| 昌图县| 神木县| 横峰县| 敦煌市| 获嘉县| 策勒县| 上栗县| 甘孜县| 阿尔山市| 鸡西市|