Bu fonksiyon form eleman değerlerini dizili yazıya Dönüştürülmesi için kullanılır. Ayrıntı için .serialize() metoduna bakınız.
Versiyon 1.4 sonrası $.param()
metodu modern script dilleri ve PHP veya Ruby on Rails
gibi framework ihtiyaçlarını karşılayacak şekilde daha gelişmiş recursively dönüştürmeye
başladı. Bu geliştirmeyi jQuery.ajaxSettings.traditional = true;
ayarı ile iptal
edebilirsiniz.
Versiyon 3.0 sonrası $.param()
metodu artık jQuery.ajaxSettings.traditional
ayarını ve onun default değerini kullanmayı bıraktı ve default false
değeri
kullandı. Bunlar yüzünden en iyisi metoda ikinci parametreyi vererek nasıl çalışmasını
istediğinizi ayrıca belirtin.
Eğer verilen nesne bir array ise bu .serializeArray() metodundan dönen değer gibi nesnelerden oluşan bir array olmalıdır.
Not : Bazı framework'lar serialize array'leri ayrıştırmada sınırlı kabiliyete sahip olduklarından
geliştiriciler obj
nesnesini hazırlarken dikkatli olmalıdır, bir array içinde
başka array ya da nesneler olur.
Not : Genel kabul görmüş bir param string'leri standardı olmadığı için, bu metodla karmaşık veri yapılarını işlemek her dil için mümkün olmayabilir. Bu yüzden karmaşık verileri işlemek için JSON formatı kullanmanız tavsiye edilir.
Versiyon 1.4 ten itibaren HTML5 input elemanları da işlenmeye başlamıştır.
Bir nesnenin sorgu string olarak ve URL-decoded olarak nasıl olacağı şöyle görülebilir:
Bu kod sonucu recursiveEncoded
ve recursiveDecoded
stringler
şu değerleri alarm eder:
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
Versiyon 1.4 öncesi $.param()
metodunu simüle etmek için traditional
parametresini true
yaparsınız.
Bu kod sonucu shallowEncoded
ve shallowDecoded
değerleri şöyle
alert edilir:
Bir key-value nesnesini serialize et.
Birkaç karmaşık nesneyi serialize et.
.
.