AJAX call example 1: return multiple values
Client script code:
//--author: RDS Feb 2018
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
// return;
}
//--default the line manager and job title from requested for field
g_form.setValue('job_title', '');
g_form.setValue('line_manager', '');
if (newValue!=''){
var ga = new GlideAjax('my_ajax_funcs_sc');
ga.addParam('sysparm_name', 'm_getuserinfo');
ga.addParam('sysparm_usersysid', newValue);
ga.getXML(function(serverResponse){
var result = serverResponse.responseXML.getElementsByTagName("result");
var message = result[0].getAttribute("message");
//alert(message);
//--get favorite elements
var favorites = serverResponse.responseXML.getElementsByTagName("favorite");
for(var i = 0; i < favorites.length; i++) {
var name = favorites[i].getAttribute("name");
var value = favorites[i].getAttribute("value");
}
});
}
}
Script include script (client callable):
var my_ajax_funcs_sc = Class.create();
my_ajax_funcs_sc.prototype = Object.extendsObject(AbstractAjaxProcessor, {
m_getuserinfo: function(){
//--
var userSYSID=this.getParameter('sysparm_usersysid');
var sResult1='';
var sResult2='';
var result = this.newItem("result");
result.setAttribute("message", "returning all favorites");
//...complete the code...
this._addFavorite('result1', sResult1);
this._addFavorite('result2', sResult2);
return result;
},
_addFavorite : function(name, value) {
var favs = this.newItem("favorite");
favs.setAttribute("name", name);
favs.setAttribute("value", value);
},
type: 'my_ajax_funcs_sc'
});
Comments
Post a Comment