Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Unhandled exception in GlideAjax Cannot read properties of null (reading 'callCity')

Dave_p
Giga Guru

Hi,

I am creating script Include and I am facing this issue. Kindly help.

 

GlideAJAX

 

2.png

 

function onChange(control, oldValue, newValue, isLoading) {
   if (isLoading || newValue == '') {
      return;
   }

	var ga = new GlideAjax('locationDetailsClass');
	ga.addParam('sysparm_name', 'locationDetailsFunction');
	ga.addParam('sysparm_ID'. newValue);
	ga.getXML(callBackFunction);
	function callBackFunction(response){
		var answer = response.responseXML.documentElement.getAttribute('answer');
		var op = JSON.parse(answer);
		g_form.setValue('project_city', op.callCity);
		g_form.setValue('project_street', op.callStreet);
		g_form.setValue('project_state_province', op.callState);
		g_form.setValue('project_zip_postal_code', op.callZip);
		g_form.setValue('cost_center', op.costCenter);
	}



}

 

Script Include

 

3.png

 

var locationDetailsClass = Class.create();
locationDetailsClass.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	locationDetailsFunction: function(){
		var keyFunction = this.getParameter('sysparm_ID');
		var gr = new GlideRecord('sys_user');
		gr.addQuery('sys_id', keyFunction);
		gr.query();
		if(gr.next()){
			var jsonObj = {};
			jsonObj.callCity = gr.getValue('city');
			jsonObj.callStreet = gr.getValue('street');
			jsonObj.callState = gr.getValue('state');
			jsonObj.callZip = gr.getValue('zip');
			jsonObj.costCenter = gr.getDisplayValue('cost_center');
			return JSON.stringify(jsonObj);
		}
		
	},

    type: 'locationDetailsClass'
});

 

Error

 

1.png

 

 

Regards

Suman P.

1 ACCEPTED SOLUTION

JenniferRah
Mega Sage
Mega Sage

This line has a period instead of a comma in your client script:

ga.addParam('sysparm_ID', newValue);

 

Beyond that, have you verified these fields have information in them in the record where you are looking them up? I would add some log statements to see how far you are getting and verify the data is getting populated as expected.

View solution in original post

1 REPLY 1

JenniferRah
Mega Sage
Mega Sage

This line has a period instead of a comma in your client script:

ga.addParam('sysparm_ID', newValue);

 

Beyond that, have you verified these fields have information in them in the record where you are looking them up? I would add some log statements to see how far you are getting and verify the data is getting populated as expected.