Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Scorciatoie e funzioni di supporto

Utili scorciatoie per alcuni tipi di richieste molto utilizzate
Utili scorciatoie per alcuni tipi di richieste molto utilizzate
Link copiato negli appunti

Oltre a $.ajax(),  jQuery mette a disposizione alcune utili scorciatoie per alcuni tipi di richieste molto utilizzate.

Anzitutto $.post() e $.get() che inviano rispettivamente richieste POST e GET al server. Ambedue le funzioni accettano fino a 4 parametri:

  • url: l'url a cui inviare la chiamata
  • data: come in $.ajax(), un oggetto o stringa rappresentante i valori da inviare al server
  • callback: una funzione da lanciare quando i dati sono stati caricati correttamente. Accetta come argomento i dati e lo stato della richiesta
  • type: il tipo di dati richiesto, di default html o xml (vedi dataType in $.ajax()).

Altre due scorciatoie molto utili sono $.getJSON() e $.getScript(). La prima serve a caricare dati JSON da un server (anche remoto) ed accetta come argomenti l'indirizzo della
richiesta, eventuali dati in formato stringa e JSON, ed una funzione di callback (dello stesso tipo di $.get() e $.post()); la secondo serve a caricare JavaScript remoto ed accetta solo l'indirizzo del server ed una funzione di callback. Un'ultima funzione è .load(), un metodo che gestisce solo dati HTML o testuali e li inserisce all'interno degli elementi della collezione corrente. Come altre
scorciatoie accetta anche dei dati da inviare al server come stringa o oggetto JSON, nonché una funzione di callback da lanciare al caricamento dei dati:

$("#pannello").load(
    "pagina.html", //pagina da caricare
    {}, //un oggetto JavaScript vuoto = nessun dato da inviare
    function () { //funzione di callback
        alert("dati caricati!");
    }
});

Ecco un esempio pratico.

Funzioni di supporto

Come detto sopra, $.ajax() accetta come argomento un oggetto con alcuni parametri per definire il comportamento della richiesta AJAX.
Nel caso questi parametri dovessero essere impostati per molte richieste, è possibile definirli globalmente passandoli, sempre come oggetti JavaScript, alla funzione $.ajaxSetup():

//Tutte le richieste AJAX restituiscono un oggetto JSON
$.ajaxSetup({
    dataType : 'json'
});

Per quanto riguarda la gestione dei dati da inviare via AJAX, jQuery offre due interessanti metodi: il primo, .serialize(), converte i campi di un form in una stringa serializzata:

var stringa = $("form").serialize();
//stringa = "nomecampo1=valore&nomecampo2=valore"

Il secondo metodo è .serializeArray() che si applica sempre ad un form, ma restituisce un oggetto JSON manipolabile:

var oggetto = $("form").serializeArray();
//stringa = [{ key : "nomecampo1" , value : "valore1"},{ key : "nomecampo2" , value : "valore2"}]

Ti consigliamo anche