Uncaught ReferenceError: GlideAjax is not defined

mahdyy
Kilo Contributor

Hi,

I am new to ServiceNow and trying some hands on GlideAjax/GrideRecord scrtpting. I have created a new "Script Include" with "Client Callable" => TRUE. While trying to invoke the same from the client web browser using JavaScript using "GlideAjax", I am facing the error - "Uncaught ReferenceError: GlideAjax is not defined" I have even tried to use "GlideRecord" but getting the same reference error.

Below is the Script Include I have defined in the system::

find_real_file.png

The client-side script I have written to call the Script Include is as below:

                  var ga = new GlideAjax('getCallerData');

                  ga.addParam('sysparm_name','getSysID');

                  ga.addParam('sysparm_phone_number',"(080) 224-1097");

                  ga.getXMLWait();

                  alert(ga.getAnswer());

The error screen-shot is:

find_real_file.png

Am I missing in enabling something which will then include the necessary javascript libraries related to GlideAjax/GlideRecord in the client side?

I am using "glide-helsinki-03-16-2016__patch4-08-10-2016_08-27-2016_1002".

Thanks in advance.

Regards

Mahendra

1 ACCEPTED SOLUTION

Hi Mahendra,



I have replied to your email with necessary links and it worked perfectly fine. I have created a client script in incident form view and it is working as expected.


View solution in original post

20 REPLIES 20

Thanks mate, here is the code that I an trying, though this is just an example that I am trying to get through.. learning SNOW..



I have created a UI page with few fields,



Here is the HTML code:



<?xml version="1.0" encoding="utf-8" ?>


<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">


<h1>Add a new dog</h1>


<form class="form-horizontal">


<div class="form-group">


<label for="dogName" class="col-sm-2 control-label">Name of Dog:</label>


<div class="col-sm-4">


<input type="text" class="form-control" id="dogName" />


</div>


</div>




<div class="form-group">


<label for="dogAge" class="col-sm-2 control-label">Age of Dog:</label>


<div class="col-sm-4">


<input type="text" class="form-control" id="dogAge" />


</div>


</div>




<div class="form-group">


<div class="col-sm-offset-2 col-sm-10">


<div class="checkbox">


<label>


<input type="checkbox" id="dogShots" />


Shots


</label>


</div>


</div>


</div>



<div class="form-group">


<div class="col-sm-offset-2 col-sm-10">


<div class="checkbox">


<label>


<input type="checkbox" id="dogNeutered" />


Neutered


</label>


</div>


</div>


</div>


</form>


<button id="addDog"   class="btn btn-default">Add Dog</button>



<div id="msg"></div>


</j:jelly>



Here is corresponding Client Script:



jQuery('#addDog').click(function(){




var ga=new GildeAjax('fetchUtils');


ga.addParam('sysparm_name','createDog');


ga.addParam('sysparm_dog_name',jQuery('#dogName').val());


ga.addParam('sysparm_dog_age',jQuery('#dogAge').val());


ga.addParam('sysparm_dog_shots',jQuery('#dogShots').is(':checked'));


ga.addParam('sysparm_dog_neutered',jQuery('#dogNeutered').is(':checked'));


ga.getXML(fetchBallBack);




}


);




function fetchBallBack(response){


var answer=response.responseXML.documentElement.getAttribute("answer");//.split('|');


jQuery('#msg').append('<p>' + answer[0] + ' has successfully added. Dog ID is: ' + answer[1] + ' </p><br><a href="' + answer[2] + '"> View new dog</a>');


jQuery('#msg').append(answer);


}




Here is Script Include Code:



var fetchUtils = Class.create();


fetchUtils.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {




createDog:function(){


var dogName=this.getParameter('sysparm_dog_name');


var dogAge=this.getParameter('sysparm_dog_age');


var dogShots=this.getParameter('sysparm_dog_shots');


var dogNeutered=this.getParameter('sysparm_dog_neutered');



// insert dog data


var newDog=new GlideRecord('x_113331_fetch_dogs');


newDog.newRecord();


newDog.Name=dogName;


newDog.Age=dogAge;



if(dogShots){


newDog.Shots=true;


}


if(dogNeutered){


newdog.Neutered=true;


}



var dogNumber=newDog.Number.getDisplayValue();


var sysId=newDog.insert();


var dogLink=newDog.getLink();



// returning values


return dogName +'|' + dogNumber + '|' + dogLink;


},


      type: 'fetchUtils'


});