purplemanchris
11/1/2019 - 3:59 PM

GlideAjax Array Response

/** Client Script */
function onLoad() {
	var ga = new GlideAjax('AssetManagement');
	ga.addParam('sysparm_name','getCatalogDetail');
	ga.addParam('cat_sys_id', g_form.getUniqueValue());
	ga.getXML(GetResponse);  //getXMLAnswer() saves you a line of code every time you use it. Response doesn't then need response.responseXML.documentElement.getAttribute("answer");
	
	function GetResponse(response){
		var answers = response.responseXML.documentElement.getAttribute("answer");
		var answer = answers.split(',');
		
		//If ITZone Type = Mobile, Hide ability to charge to Project.
		if(answer[0] == "mobile"){
			g_form.setDisplay('u_charge_to_project', false);
		}	
	}

}

/** Service Side Script Include */
var AssetManagement = Class.create();
AssetManagement.prototype = Object.extendsObject(AbstractAjaxProcessor, {

//Get Catalog Details back
getCatalogDetail: function(){
	var answer =[];
	var _cat_sys_id = this.getParameter("cat_sys_id");
	var gr = new GlideRecord("sc_cat_item_producer");
	gr.addQuery("sys_id", _cat_sys_id);
	gr.query();
	if (gr.next()) {
		answer.push(gr.getValue('u_itzone_type'));
	}
	answer =answer.toString();
	return answer;
	
	//If non-array single response needed you can just do retun "Test response". Then the getResponse function can just have
	//var answer = response.responseXML.documentElement.getAttribute("answer");
},

});