jQuery ajax - metode param()
contoh
序列isasi sebuah key/value objek:
var params = { width:1900, height:1200 }; var str = jQuery.param(params); $("#results").text(str);
hasil:
width=1680&height=1050
contoh TIY
tampilkan hasil 序列isasi objek:
$("button").click(function(){ $("div").text($.param(personObj)); });
definisi dan penggunaan
metode param() menciptakan representasi 序列isasi dari array atau objek.
nilai 序列isasi ini dapat digunakan dalam string query URL saat melakukan permintaan AJAX.
syntaks
jQuery.param(object,traditional)
parameter | deskripsi |
---|---|
object | array atau objek yang akan di 序列isasi. |
traditional | atur apakah peng 序列isasi tradisional ( 序列isasi parameter) akan digunakan secara mendalam. |
penjelasan detil
Metode param() digunakan untuk mengubah nilai elemen menjadi representasi string yang di 序列isasi. Lihat .serialize() Baca lebih lanjut.
Untuk jQuery 1.3, jika parameter yang disampaikan adalah fungsi, maka dengan .param() akan memperoleh nilai kembalian fungsi, bukannya mengembalikan fungsi sebagai string.
Untuk jQuery 1.4, metode .param() akan meng 序列isasi objek dengan cara rekursi mendalam untuk memenuhi kebutuhan bahasa skrip modern, seperti PHP, Ruby on Rails, dll. Anda dapat mengaktifkan fitur ini secara global dengan mengatur jQuery.ajaxSettings.traditional = true;.
jika objek yang disampaikan berada di dalam array, maka harus berada dalam format .serializeArray() nilai kembalian adalah array objek format:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"} {name:"job",value:"Rock Star"}]
Perhatian:Karena beberapa kerangka kerja mempunyai kapasitas terbatas dalam mengurai angka yang diserialisasikan, jadi pastikan hati-hati saat mengirimkan array yang mengandung objek atau array yang bersarang sebagai parameter!
Dalam jQuery 1.4, elemen input HTML5 juga akan diserialisasikan.
Contoh Lainnya
Kami dapat menampilkan ekspresi query string objek serta versi URI yang dienkripsi seperti berikut:
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);
Nilai recursiveEncoded dan recursiveDecoded ditampilkan seperti berikut:
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
Dapat mengatur parameter traditional menjadi true untuk mensimulasikan perilaku $.param() sebelum versi jQuery 1.4:
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);
Nilai recursiveEncoded dan recursiveDecoded ditampilkan seperti berikut:
a=%5Bobject+Object%5D&b=1&b=2&b=3 a=[object+Object]&b=1&b=2&b=3