五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 建站教程 > jQuery 教程 > jQuery ajax - param() 方法

jQuery ajax - param() 方法

此節(jié)有 271 人學(xué)習(xí)過     參與評論

實例

序列化一個 key/value 對象:

var params = { width:1900, height:1200 };
var str = jQuery.param(params);
$("#results").text(str);

結(jié)果:

width=1680&height=1050

TIY 實例

輸出序列化對象的結(jié)果:

$("button").click(function(){
  $("div").text($.param(personObj));
});

親自試一試

定義和用法

param() 方法創(chuàng)建數(shù)組或?qū)ο蟮男蛄谢硎尽?/p>

該序列化值可在進(jìn)行 AJAX 請求時在 URL 查詢字符串中使用。

語法

jQuery.param(object,traditional)
參數(shù) 描述
object 要進(jìn)行序列化的數(shù)組或?qū)ο蟆?/td>
traditional 規(guī)定是否使用傳統(tǒng)的方式淺層進(jìn)行序列化(參數(shù)序列化)。

詳細(xì)說明

param() 方法用于在內(nèi)部將元素值轉(zhuǎn)換為序列化的字符串表示。請參閱 .serialize() 了解更多信息。

對于 jQuery 1.3,如果傳遞的參數(shù)是一個函數(shù),那么用 .param() 會得到這個函數(shù)的返回值,而不是把這個函數(shù)作為一個字符串來返回。

對于 jQuery 1.4,.param() 方法將會通過深度遞歸的方式序列化對象,以便符合現(xiàn)代化腳本語言的需求,比如 PHP、Ruby on Rails 等。你可以通過設(shè)置 jQuery.ajaxSettings.traditional = true; 來全局地禁用這個功能。

如果被傳遞的對象在數(shù)組中,則必須是以 .serializeArray() 的返回值為格式的對象數(shù)組:

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

注意:因為有些框架在解析序列化數(shù)字的時候能力有限,所以當(dāng)傳遞一些含有對象或嵌套數(shù)組的數(shù)組作為參數(shù)時,請務(wù)必小心!

在 jQuery 1.4 中,HTML5 的 input 元素也會被序列化。

更多實例

我們可以如下顯示對象的查詢字符串表示以及 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);

recursiveEncoded 和 recursiveDecoded 的值輸出如下:

a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3
a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3

可以將 traditional 參數(shù)設(shè)置為 true,來模擬 jQuery 1.4 之前版本中 $.param() 的行為:

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

alert(shallowEncoded);
alert(shallowDecoded);

recursiveEncoded 和 recursiveDecoded 的值輸出如下:

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

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進(jìn)入論壇

發(fā)表評論 (271人查看0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------
jQuery 教程目錄

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號