# jQuery ajax - param() 方法
## 實例
序列化一個 _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));
});
```
## 定義和用法
param() 方法創建數組或對象的序列化表示。
該序列化值可在進行 AJAX 請求時在 URL 查詢字符串中使用。
### 語法
```
jQuery.param(_object_,_traditional_)
```
| 參數 | 描述 |
| --- | --- |
| _object_ | 要進行序列化的數組或對象。 |
| _traditional_ | 規定是否使用傳統的方式淺層進行序列化(參數序列化)。 |
### 詳細說明
param() 方法用于在內部將元素值轉換為序列化的字符串表示。請參閱 [.serialize()](/jquery/ajax_serialize.asp "jQuery ajax - serialize() 方法") 了解更多信息。
對于 jQuery 1.3,如果傳遞的參數是一個函數,那么用 .param() 會得到這個函數的返回值,而不是把這個函數作為一個字符串來返回。
對于 jQuery 1.4,.param() 方法將會通過深度遞歸的方式序列化對象,以便符合現代化腳本語言的需求,比如 PHP、Ruby on Rails 等。你可以通過設置 jQuery.ajaxSettings.traditional = true; 來全局地禁用這個功能。
如果被傳遞的對象在數組中,則必須是以 [.serializeArray()](/jquery/ajax_serializearray.asp "jQuery ajax - serializeArray() 方法") 的返回值為格式的對象數組:
```
[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
```
注意:因為有些框架在解析序列化數字的時候能力有限,所以當傳遞一些含有對象或嵌套數組的數組作為參數時,請務必小心!
在 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 參數設置為 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 參考手冊 - 選擇器
- jQuery 參考手冊 - 事件
- jQuery 事件 - bind() 方法
- jQuery 事件 - blur() 方法
- jQuery 事件 - change() 方法
- jQuery 事件 - click() 方法
- jQuery 事件 - dblclick() 方法
- jQuery 事件 - delegate() 方法
- jQuery 事件 - die() 方法
- jQuery 事件 - error() 方法
- jQuery 事件 - isDefaultPrevented() 方法
- jQuery 事件 - pageX 屬性
- jQuery 事件 - pageY 屬性
- jQuery 事件 - preventDefault() 方法
- jQuery 事件 - result 屬性
- jQuery 事件 - target 屬性
- jQuery 事件 - timeStamp 屬性
- jQuery 事件 - type 屬性
- jQuery 事件 - which 屬性
- jQuery 事件 - focus() 方法
- jQuery 事件 - keydown() 方法
- jQuery 事件 - keypress() 方法
- jQuery 事件 - keyup() 方法
- jQuery 事件 - live() 方法
- jQuery 事件 - load() 方法
- jQuery 事件 - mousedown() 方法
- jQuery 事件 - mouseenter() 方法
- jQuery 事件 - mouseleave() 方法
- jQuery 事件 - mousemove() 方法
- jQuery 事件 - mouseout() 方法
- jQuery 事件 - mouseover() 方法
- jQuery 事件 - mouseup() 方法
- jQuery 事件 - one() 方法
- jQuery 事件 - ready() 方法
- jQuery 事件 - resize() 方法
- jQuery 事件 - scroll() 方法
- jQuery 事件 - select() 方法
- jQuery 事件 - submit() 方法
- jQuery 事件 - toggle() 方法
- jQuery 事件 - trigger() 方法
- jQuery 事件 - triggerHandler() 方法
- jQuery 事件 - unbind() 方法
- jQuery 事件 - undelegate() 方法
- jQuery 事件 - unload 屬性
- jQuery 參考手冊 - 效果
- jQuery 效果 - animate() 方法
- jQuery 效果 - clearQueue() 方法
- jQuery 效果 - fadeIn() 方法
- jQuery 效果 - fadeOut() 方法
- jQuery 效果 - fadeTo() 方法
- jQuery 效果 - hide() 方法
- jQuery 效果 - show() 方法
- jQuery 效果 - slideDown() 方法
- jQuery 效果 - slideToggle() 方法
- jQuery 效果 - slideUp() 方法
- jQuery 效果 - stop() 方法
- jQuery 效果 - toggle() 方法
- jQuery 參考手冊 - 文檔操作
- jQuery 屬性操作 - addClass() 方法
- jQuery 文檔操作 - after() 方法
- jQuery 文檔操作 - append() 方法
- jQuery 文檔操作 - appendTo() 方法
- jQuery 屬性操作 - attr() 方法
- jQuery 文檔操作 - before() 方法
- jQuery 文檔操作 - clone() 方法
- jQuery 文檔操作 - detach() 方法
- jQuery 文檔操作 - empty() 方法
- jQuery 屬性操作 - hasClass() 方法
- jQuery 文檔操作 - html() 方法
- jQuery 文檔操作 - insertAfter() 方法
- jQuery 文檔操作 - insertBefore() 方法
- jQuery 文檔操作 - prepend() 方法
- jQuery 文檔操作 - prependTo() 方法
- jQuery 文檔操作 - remove() 方法
- jQuery 屬性操作 - removeAttr() 方法
- jQuery 屬性操作 - removeClass() 方法
- jQuery 文檔操作 - replaceAll() 方法
- jQuery 文檔操作 - replaceWith() 方法
- jQuery 文檔操作 - text() 方法
- jQuery 屬性操作 - toggleClass() 方法
- jQuery 文檔操作 - unwrap() 方法
- jQuery 屬性操作 - val() 方法
- jQuery 文檔操作 - wrap() 方法
- jQuery 文檔操作 - wrapAll() 方法
- jQuery 文檔操作 - wrapInner() 方法
- jQuery 參考手冊 - 屬性操作
- jQuery 參考手冊 - CSS 操作
- jQuery CSS 操作 - css() 方法
- jQuery CSS 操作 - height() 方法
- jQuery CSS 操作 - offset() 方法
- jQuery CSS 操作 - offsetParent() 方法
- jQuery CSS 操作 - position() 方法
- jQuery CSS 操作 - scrollLeft() 方法
- jQuery CSS 操作 - scrollTop() 方法
- jQuery CSS 操作 - width() 方法
- jQuery 參考手冊 - Ajax
- jQuery ajax - ajax() 方法
- jQuery ajax - ajaxComplete() 方法
- jQuery ajax - ajaxError() 方法
- jQuery ajax - ajaxSend() 方法
- jQuery ajax - ajaxSetup() 方法
- jQuery ajax - ajaxStart() 方法
- jQuery ajax - ajaxStop() 方法
- jQuery ajax - ajaxSuccess() 方法
- jQuery ajax - get() 方法
- jQuery ajax - getJSON() 方法
- jQuery ajax - getScript() 方法
- jQuery ajax - load() 方法
- jQuery ajax - param() 方法
- jQuery ajax - post() 方法
- jQuery ajax - serialize() 方法
- jQuery ajax - serializeArray() 方法
- jQuery 參考手冊 - 遍歷
- jQuery 遍歷 - add() 方法
- jQuery 遍歷 - andSelf() 方法
- jQuery 遍歷 - children() 方法
- jQuery 遍歷 - closest() 方法
- jQuery 遍歷 - contents() 方法
- jQuery 遍歷 - each() 方法
- jQuery 遍歷 - end() 方法
- jQuery 遍歷 - eq() 方法
- jQuery 遍歷 - filter() 方法
- jQuery 遍歷 - find() 方法
- jQuery 遍歷 - first() 方法
- jQuery 遍歷 - has() 方法
- jQuery 遍歷 - is() 方法
- jQuery 遍歷 - last() 方法
- jQuery 遍歷 - map() 方法
- jQuery 遍歷 - next() 方法
- jQuery 遍歷 - nextAll() 方法
- jQuery 遍歷 - nextUntil() 方法
- jQuery 遍歷 - not() 方法
- jQuery 遍歷 - offsetParent() 方法
- jQuery 遍歷 - parent() 方法
- jQuery 遍歷 - parents() 方法
- jQuery 遍歷 - parentsUntil() 方法
- jQuery 遍歷 - prev() 方法
- jQuery 遍歷 - prevAll() 方法
- jQuery 遍歷 - prevUntil() 方法
- jQuery 遍歷 - siblings() 方法
- jQuery 遍歷 - slice() 方法
- jQuery 參考手冊 - 數據
- jQuery 遍歷 - clearQueue() 方法
- jQuery 數據 - data() 方法
- jQuery 數據 - jQuery.data() 方法
- jQuery 遍歷 - dequeue() 方法
- jQuery 遍歷 - jQuery.dequeue() 方法
- jQuery 遍歷 - hasData() 方法
- jQuery 遍歷 - queue() 方法
- jQuery 遍歷 - jQuery.queue() 方法
- jQuery 數據 - removeData() 方法
- jQuery 數據 - jQuery.removeData() 方法
- jQuery 參考手冊 - DOM 元素方法
- jQuery DOM 元素方法 - get() 方法
- jQuery DOM 元素方法 - index() 方法
- jQuery DOM 元素方法 - size() 方法
- jQuery DOM 元素方法 - toArray() 方法
- jQuery 參考手冊 - 核心
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - noConflict() 方法
- jQuery 參考手冊 - 屬性
- jQuery context 屬性
- jQuery jquery 屬性
- jQuery jQuery.fx.interval 屬性
- jQuery jQuery.fx.off 屬性
- jQuery jQuery.support 屬性
- jQuery length 屬性
- 免責聲明