Metodo jQuery ajax - param()
esempio
Serializzare un chiave/valore Oggetto:
var params = { width:1900, height:1200 }; var str = jQuery.param(params); $("#results").text(str);
Risultato:
width=1680&height=1050
Esempio TIY
Ecco il risultato della serializzazione dell'oggetto:
$("button").click(function(){ $("div").text($.param(personObj)); });
Definizione e uso
Il metodo .param() crea una rappresentazione serializzata di array o oggetti.
Questo valore di serializzazione può essere utilizzato nella stringa di ricerca dell'URL durante la richiesta AJAX.
sintassi
jQuery.param(object,traditional)
parametro | descrizione |
---|---|
object | l'array o l'oggetto da serializzare. |
traditional | specificare se utilizzare il modo tradizionale per la serializzazione a livello superficiale (serializzazione dei parametri). |
la descrizione dettagliata
Il metodo .param() serve a convertire i valori degli elementi in una rappresentazione stringata serializzata. Vedi .serialize() Per ulteriori informazioni.
Per jQuery 1.3, se il parametro passato è una funzione, .param() restituirà il valore di ritorno della funzione, non la funzione stessa come stringa.
Per jQuery 1.4, il metodo .param() serializzerà l'oggetto in modo ricorsivo per soddisfare le esigenze dei linguaggi di script moderni, come PHP, Ruby on Rails ecc. Puoi disabilitare questa funzione globalmente impostando jQuery.ajaxSettings.traditional = true;
Se l'oggetto passato è nell'array, deve essere: .serializeArray() il valore di ritorno è un array di oggetti in formato:
[{name:"first",value:"Rick"}, {name:"last",value:"Astley"} {name:"job",value:"Rock Star"}]
Attenzione:Poiché alcune framework hanno capacità limitate nella解析serializzati numeri, quindi quando si passano array che contengono oggetti o array annidati come parametri, si prega di prestare attenzione!
In jQuery 1.4, anche gli elementi input di HTML5 vengono serializzati.
Più esempi
Possiamo visualizzare in questo modo la rappresentazione di query stringa dell'oggetto e la versione URI codificata:
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);
I valori di recursiveEncoded e recursiveDecoded sono elencati di seguito:
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
Puoi impostare il parametro traditional su true per simulare il comportamento di $.param() nelle versioni precedenti a 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);
I valori di recursiveEncoded e recursiveDecoded sono elencati di seguito:
a=%5Boggetto+Oggetto%5D&b=1&b=2&b=3 a=[oggetto+Oggetto]&b=1&b=2&b=3