Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

GlideAjax is not defined in UI macro

rsadhula
Mega Contributor

Hi All,

I'm calling GlideAjax from UI Macro , but I'm facing below error:

org.mozilla.javascript.EcmaError: "GlideAjax" is not defined.

Caused by error in ftp://gsft_database/asp_cms_header_user_welcome.3 at line 2

1:

==> 2: var ga = new GlideAjax('global.GetHostName');

3: ga.getXMLWait();

4: var hostName = ga.getAnswer();

5:

My UI Macro looks like below:

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

What I'm doing wrong here ??

5 REPLIES 5

Kalaiarasan Pus
Giga Sage

evaluate tags are like server side scripting. You can call the scripts directly as below.



var script = new scriptinclude();


script.functionname();


Thanks for the info, I would need to print user's computer name in ess page,


how can I do that, some link or info would be much appreciated,


Hi Rakesh,



When you use <g:evaluate> tag you can use that variable in html section as below:


the variable jvar_computerName has the value



<g:evaluate var="jvar_computerName" jelly="true">



// query whatever table you want and store it in variable and then you can use it in html


var gr = new GlideRecord();


gr.addQuery();


gr.query();


var computerName = gr.computer_name; // have your field here which stores computer name


computerName;


</g:evaluate>



<p>${jvar_computerName}</p>



Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.


Thanks


Ankur


Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi Ankur,



We don't save computer name in table, I would like to display computer name dynamically for end user.


Is this possible ?



I tried with HostNameJs but it's not working as expected.