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 1.3,如果传递的参数是一个函数,那么用 .param() 会得到这个函数的返回值,而不是把这个函数作为一个字符串来返回。
对于 jQuery 1.4,.param() 方法将会通过深度递归的方式序列化对象,以便符合现代化脚本语言的需求,比如 PHP、Ruby on Rails 等。你可以通过设置 jQuery.ajaxSettings.traditional = true; 来全局地禁用这个功能。
如果被传递的对象在数组中,则必须是以 .serializeArray() matokeo wake wa kipo cha kipato cha kipimo cha kipato:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"} {name:"job",value:"Rock Star"}]
Kujaangalika:Kwa sababu makampuni mengine yanapofikia kusoma namba zilizosasisha, kwa kumwambia habari yenye kifaa au majadiliano ya mawakili kama paramu, inafaa kumaliza!
Katika jQuery 1.4, vitu vya HTML5 vya ingia vya matumizi vya mawasiliano yana uharibifu.
Mifano ya kuingia
Inaweza kuonyesha habari ya kifaa na ukurusha wa habari kama hivi:
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);
Mifano ya recursiveEncoded na recursiveDecoded inatokana na hivi:
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
Inaweza kufanya kiwango cha kiparamu cha traditional kwa true, kuzungumza habari ya $.param() kama katika versioni za jQuery 1.4 zaidi:
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);
Mifano ya recursiveEncoded na recursiveDecoded inatokana na hivi:
a=%5Bobject+Object%5D&b=1&b=2&b=3 a=[object+Object]&b=1&b=2&b=3