J'ai utilisé ce type de chargement javascript pour les scripts interdomaines. Où c'est très utile. Voici un exemple pour montrer ce que je veux dire.
[Gardez à l'esprit que JS n'autorise pas les appels inter-domaines depuis javascript; en raison des restrictions de sécurité encastrables]
Sur domaine www.xyz.com
il se trouve un service qui me donne une liste d'utilisateurs accessible à partir http://xyz.com/users/list?age=20
Il retourne un JSON, avec une méthode d'emballage comme suit JSON:
{username:"user1", age:21}
Si je demande ce JSON enveloppé dans une méthode comme la façon suivante:
callMyMethod({username:"user1", age:21})
Alors ceci est un JSON enveloppé qui se charge sur ma page; va essayer d'appeler une méthode appelée callMyMethod.Cela serait autorisé dans un type de déclaration mais ne serait pas autorisé autrement.
Donc ce que je peux faire est comme suit
<script language="javascript" src="http://xyz.com/users/list?age=20"></script>
<script language="javascript">
function callMyMethod(data)
{
//so something with the passed json as data variable.
}
</script>
Cela me permettrait de farcir avec JSON provenant d'autres domaines, que je ne l'aurais pas pu faire autrement. Alors; vous voyez comment je pourrais réaliser un script inter-domaines qui aurait été difficile à faire autrement.
Ceci est juste l'une des utilisations.
Autres raisons pour lesquelles quelqu'un faire est:
- Pour la version de leurs fichiers JS avec versions.
- Pour décoacher les fichiers js afin qu'ils soient chargés sur le client dès que des changements surviennent, js et params étant passés à l'URL, ils essaieront d'aller chercher le dernier JS. Cela permettrait de nouveaux changements reflétés sur le client immédiatement.
- Lorsque vous voulez générer un JS conditionnel.
L'utilisation que vous avez spécifiée dans l'exemple ne devrait probablement pas être très utile; serait probablement juste retarder le chargement de la page si le traitement par le serveur prend du temps et à la place un appel ajax async serait beaucoup préféré.