2011-11-13 3 views
7

J'essaie de comprendre quelles sont les différences entre la fonction $.getScript dans jQuery et la $.get.

Selon la documentation: http://api.jquery.com/jQuery.get/ et http://api.jquery.com/jQuery.getScript/

Il m'a donné le sentiment que le $.getScript vous pouvez envoyer des données au serveur (comme la fonction $.get), mais vous ne pouvez pas obtenir des données de le serveur (ce que vous pouvez avec la fonction $.get). Mais il montre dans la documentation de $.getScript, certaines lignes ci-dessous dans le premier exemple, que vous pouvez obtenir également des données avec la ligne console.log(data); //data returned.

Alors, quelles sont les différences? Est-ce qu'avec $.getScript vous pouvez appeler seulement des manuscrits de js et avec $.get vous pouvez appeler n'importe quel dossier? Quelles sont les restrictions/avantages de l'utilisation d'une fonction au lieu de l'autre?

Répondre

18

Les deux sont des raccourcis vers ajax appel de fonction. jQuery.get équivaut à:

$.ajax({ 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

Alors que jQuery.getScript équivaut à:

$.ajax({ 
    url: url, 
    dataType: "script", 
    success: success 
}); 

Il est facile de voir que jQuery.get peut obtenir tout type de réponse (script, XML, JSON, script ou html - par défaut html), et getScript est limité à "script".

En bref, getScript est utilisé pour exécuter dynamiquement JavaScript externe, et get est fonction d'usage général habituellement utilisé pour recevoir des données selon params adopté. Cependant, il est également possible de passer les paramètres dans getScript (dans l'URL) mais que ne sera pas commun, car la plupart des scripts sont statiques. Enfin, le rappel dans getScript peut être utilisé pour exécuter les instructions finales après l'exécution de notre script (par exemple, utilisez une fonction de bibliothèque après l'avoir chargée).

1

getScript est conçu pour vous permettre de charger un script. Lorsque vous ajoutez un script à partir d'un script, le script sera chargé de manière asynchrone. Si vous utilisez getScript, vous pouvez définir une fonction de rappel lorsque l'exécution de l'autre script est terminée.

$.get est une requête ajax de base, vous pouvez faire ce que vous voulez avec. C'est complètement toi.

Questions connexes