Tạo một tuần tự mô tả của một mảng hay đối tượng, phù hợp cho sử dụng trong một chuỗi truy vấn URL hoặc yêu cầu của Ajax.
jQuery.param(obj) (phiên bản 1.2)
obj : Một mảng hoặc đối tượng cho serialize.
jQuery.param(obj, traditional) (phiên bản 1.4)
obj : Một mảng hoặc đối tượng cho serialize.
traditional : Một Boolean cho biết có nên thực hiện một truyền thống "shallow" serialization.
Chức năng này đang sử dụng trong nội bộ để chuyển đổi các giá trị phần tử form thành một đại diện chuỗi tuần tự.
Theo jQuery 1.3, giá trị trả về của hàm số được sử dụng thay vì các function như một String.
Theo jQuery 1.4, các tham số đối tượng method $.serializes() sâu xa một cách đệ quy cho phù hợp với ngôn ngữ hiện đại và các framework như PHP và Ruby on Rails. Bạn có thể tắt chức năng này bằng cách thiết lập
jQuery.ajaxSettings.traditional = true;.
Nếu đối tượng đã thông qua đang trong một mảng, nó phải là một mảng của các đối tượng trong định dạng được trả về bởi serializeArray().
[{name:"first",value:"Rick"},
{name:"last",value:"Astley"},
{name:"job",value:"Rock Star"}]
Lưu ý: Do một số framework có hạn chế khả năng phân tích các mảng tuần tự, chúng ta nên chú ý khi truyền một đối số đối tượng có chứa các đối tượng hoặc các mảng lồng nhau trong mảng khác.
Trong jQuery 1,4 HTML5 yếu tố đầu vào được tuần tự.
Chúng ta có thể hiển thị một đại diện chuỗi truy vấn của một đối tượng và một phiên bản URI-decoded trong giống như sau:
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);
Ví dụ : tuần tự key/value của một đối tượng.
var params = { width:1680, height:1050 };
var str = jQuery.param(params);
$("#results").text(str);
Ví dụ: tuần tự một vài đối tượng phức tạp
$.param({ a: [2,3,4] })
kết quả : "a=2&a=3&a=4"
$.param({ a: [2,3,4] })
kết quả : "a[]=2&a[]=3&a[]=4"
$.param({a:{ b:1,c:2 }, d:[3,4,{ e:5 }]})
kết quả : "a=[object+Object]&d=3&d=4&d=[object+Object]" >=1.4:
$.param({a:{b:1,c:2}, d:[3,4,{ e:5 }]})
kết quả : "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"
DangTrung.
Không có nhận xét nào:
Đăng nhận xét