jQuery ajax - param() yöntemi
serileştirme örneği
Bir key/value Nesne:
var params = { width:1900, height:1200 }; var str = jQuery.param(params); $("#results").text(str);
Sonuç:
width=1680&height=1050
TIY Örneği
Serileştirilmiş nesne sonucunu çıktıya alın:
$("button").click(function(){ $("div").text($.param(personObj)); });
Tanım ve Kullanım
param() yöntemi, dizi veya nesnenin serileştirilmiş temsilcisini oluşturur.
Bu serileştirilmiş değer, AJAX isteklerinde URL sorgu dizgisinde kullanılabilir.
Sözdizimi
jQuery.param(object,traditional)
Parametre | Açıklama |
---|---|
object | Serileştirilecek dizi veya nesne. |
traditional | Geleneksel şekilde yüzeysel serileştirme (parametre serileştirme) kullanımı belirlenir. |
bakın.
param() yöntemi, element değerlerini içsel olarak serileştirilmiş dize temsilcisi olarak dönüştürmek için kullanılır. Detaylı bilgi için .serialize() Daha fazla bilgi için.
jQuery 1.3 için, geçilen bir parametre bir fonksiyon ise, .param() ile bu fonksiyonun dönüş değerini alırsınız, bu fonksiyonu bir dize olarak geri döndürmez.
jQuery 1.4 için, .param() yöntemi modern betik dil gereksinimlerine uygun olarak derinlikli tekrarlı bir şekilde nesneyi serileştirir. Bu özelliği genel olarak devre dışı bırakmak için jQuery.ajaxSettings.traditional = true; ayarını yapabilirsiniz.
geçilen nesne dizideyse, o dizi şu şekilde olmalı: .serializeArray() dönüş değeri formatlı nesne dizisi:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"} {name:"job",value:"Rock Star"}]
Dikkat:Birçok çerçeve serileştirilmiş sayıları çözümleyirken yeteneklidir, bu yüzden nesneler veya iç içe diziler içeren diziler olarak parametre olarak geçtiğinde dikkatli olun!
jQuery 1.4'te, HTML5 input öğeleri de serileştirilir.
Daha fazla örnek
Objenin sorgu dizgisel temsilini ve URI kodlanmış versiyonunu aşağıdaki gibi gösterebiliriz:
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 ve recursiveDecoded değerleri aşağıdaki gibi çıktı verir:
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 parametreyi true olarak ayarlayarak, jQuery 1.4 öncesi sürümlerinde $.param() davranışını simüle edebilirsiniz:
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 ve recursiveDecoded değerleri aşağıdaki gibi çıktı verir:
a=%5Bobject+Object%5D&b=1&b=2&b=3 a=[object+Object]&b=1&b=2&b=3