2017-06-23 3 views
1

J'appelle GlideAjax de l'interface utilisateur Macro, mais je suis en face d'erreur ci-dessous:GlideAjax n'est pas défini dans l'interface utilisateur macro

org.mozilla.javascript.EcmaError: "GlideAjax" is not defined. 
Caused by error in at line 2 

1: 
==> 2: var ga = new GlideAjax('global.GetHostName'); 
3: ga.getXMLWait(); 
4: var hostName = ga.getAnswer(); 
5: 

Mon interface utilisateur Macro ressemble ci-dessous:

<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null"> 
<g:evaluate> 
var ga = new GlideAjax('global.GetHostName'); 
ga.getXMLWait(); 
var hostName = ga.getAnswer(); 

</g:evaluate> 
<!--<j:set var="jvar_inc" value="${help_sysid}" />--> 
    <span id="asp-cms-user-salutation"> 
     ${gs.getMessage('Welcome')}, 
     <j:if test="${!gs.getUser().isXML()}"> 
     <span id="asp-cms-user-name"><a href="profile.do">${gs.getUserDisplayName()}</a></span> 
<span id="asp-cms-user-sysname">${hostName}</span> 
     </j:if> 

    </span> 


</j:jelly> 

Ce que je fais mal ici?

Répondre

0

GlideAjax est une API côté client utilisée pour que votre navigateur effectue une requête ajax. La balise <g:evaluate> dans gelée est un script côté serveur. Si l'on suppose GetHostName est un script inclure le nom, vous pouvez simplement appeler directement le script comprennent comme:

<g:evaluate> 
var hostNameGetter = new global.GetHostName(); 
var hostName = hostNameGetter.getValue(); // replace getValue() with whatever your method name is in GetHostname 
</g:evaluate> 
+0

Merci pour l'info, est-ce possible d'afficher le nom de l'ordinateur de l'utilisateur final de manière dynamique à la page ess? –

+0

J'ai essayé d'utiliser HostNameJs, mais cela n'a pas fonctionné –

+0

Je ne pense pas qu'il soit possible d'obtenir le nom d'hôte d'un client à partir d'un javascript pur. – Joey