Metodo jQuery ajax - getScript()
Esempio
Ottieni ed esegui un file JavaScript tramite una richiesta AJAX:
$("button").click(function(){ $.getScript("demo_ajax_script.js"); });
Definizione e uso
Il metodo getScript() carica ed esegue il file JavaScript tramite una richiesta HTTP GET.
Sintassi
jQuery.getScript(url,success(response,status});
Parametri | Descrizione |
---|---|
url | La stringa di URL da richiedere. |
success(response,status) |
Opzionale. Specifica la funzione di callback da eseguire dopo il successo della richiesta. Parametri aggiuntivi:
|
Descrizione dettagliata
Questa funzione è una versione abbreviata della funzione Ajax, equivalente a:
$.ajax({ url: url, dataType: "script", success: success });
La funzione di callback passata contiene il file JavaScript restituito. Di solito non è molto utile, perché a quel punto lo script è già stato eseguito.
Il script caricato viene eseguito nell'ambiente globale, quindi può accedere ad altre variabili e utilizzare le funzioni jQuery.
Ad esempio, carica un file test.js che contiene il seguente codice:
$(".result").html("<p>Lorem ipsum dolor sit amet.</p>");
Puoi caricare ed eseguire questo script citando il nome del file:
$.getScript("ajax/test.js", function() { alert("Caricamento eseguito."); });
Nota:Prima della versione 1.2 di jQuery, getScript poteva chiamare solo file JS dello stesso dominio. Nella versione 1.2, è possibile chiamare file JavaScript da domini diversi. Attenzione: le versioni 2 o precedenti di Safari non possono eseguire script in modo sincrono nel contesto globale. Se si aggiunge un script tramite getScript, aggiungere una funzione di ritardo.
Più esempi
Esempio 1
Carica ed esegui test.js:
$.getScript("test.js");
Esempio 2
Carica ed esegui test.js, visualizza il messaggio di conferma successiva:
$.getScript("test.js", function(){ alert("Script caricato ed eseguito."); });
Esempio 3
Carica Plugin ufficiale di animazione a colori jQuery Successivamente, associare l'animazione di cambiamento del colore:
Codice HTML:
<button id="go">Esegui</button> <div class="block"></div>
Codice jQuery:
jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){ $("#go").click(function(){ $(".block").animate({backgroundColor: 'pink'}, 1000) .animate({backgroundColor: 'blue'}, 1000); }); });