2009-12-30 3 views
1

Une requête Ajax très simple qui prend l'ID de l'employé et renvoie l'information de l'utilisateur en HTML bête.
Request ajax("employee/info?emp_id=3543")

Réponse
id = 3543
name = un nomCasse-tête de script <script src = "ajaxpage.php? Emp_id = 23" />?

Ceci est juste une autre astuce simple JS pour peupler l'interface utilisateur.

Cependant, je ne comprends pas comment quelque chose comme ci-dessous est également capable de s'exécuter correctement et de vider le code HTML. Lorsque la page rencontre le code suivant, elle s'exécute comme si la requête ajax était exécutée et déposait le code dans la page. Seule différence, il n'est plus asynchrone comme dans le cas de A jax.
Questions:
Est-ce la bonne approche? ses + ves et -ves.
Quels sont les bons scenarious pour l'user?
Est-ce que cela signifie également que toute balise HTML prenant la balise "src" peut être utilisée comme ça?

Répondre

0

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é.

0

Est-ce la bonne approche? its + ves et -ves.

Dépend si vous souhaitez utiliser la méthode asynchrone (ajax) ou non. Rien de tel que + ve ou -ve. La dernière méthode prend plus de temps.

Quels sont les bons scenarious à user it?

La méthode Ajax est la méthode correcte dans ce sens.

Est-ce que cela signifie aussi que toute balise HTML prenant le tag "src" peut être utilisé comme cela?

src est utilisé pour spécifier le chemin source. C'est ce qu'il est censé faire.

Questions connexes