精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

jQuery ajax param() 方法

jQuery ajax param() 方法

jQuery 參考手冊 AjaxjQuery 參考手冊 Ajax

param() 方法創建數組或對象的序列化表示。

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

 

1. 語法

jQuery.param(object,traditional)
參數 描述
object 要進行序列化的數組或對象。
traditional 規定是否使用傳統的方式淺層進行序列化(參數序列化)。

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

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

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

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

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

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

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

 

2. 范例

序列化一個 key/value 對象:

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

結果:

width=1680&height=1050

TIY 范例

輸出序列化對象的結果:

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

 

3. 更多范例

我們可以如下顯示對象的查詢字符串表示以及 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 參數設置為 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

jQuery 參考手冊 AjaxjQuery 參考手冊 Ajax

下一節:jQuery ajax post() 方法

jQuery 教程

相關文章