alternative approach to returning multi values on Ajax call
client script
try{
if (newValue == '') {
return;
}
var ga = new GlideAjax('UserClientScriptUtil');
ga.addParam('sysparm_name', 'getUserDetails');
ga.addParam('sysparm_user_sysid', g_form.getValue('Requested_for'));
ga.getXML(function processdata(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (answer) {
answer = JSON.parse(answer);
g_form.setValue('Email_Address',answer.displayEmail);
g_form.setValue('phone_number', answer.phone);
g_form.setValue('department_details', answer.department);
g_form.setValue('line_manager', answer.manager);
g_form.setValue('location_details', answer.location);
g_form.setValue('cost_center', answer.costCenter);
}
});
} catch(err) { alert('Error in client script: Get User Details\nError name: ' + err.name + '\nError message: ' + err.message); }
AJAX:
var UserClientScriptUtil = Class.create();
UserClientScriptUtil.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserDetails: function() {
var caller = this.getParameter('sysparm_user_sysid');
var returnUserObj = {}; // Declaring an object
var userRec = new GlideRecord('sys_user');
userRec.addQuery('sys_id',caller);
userRec.query();
//Record found
if (userRec.next()){
//name
returnUserObj.name = userRec.getValue('name');
returnUserObj.firstName = userRec.getValue('first_name');
returnUserObj.lastName = userRec.getValue('last_name');
//email
returnUserObj.email = userRec.getValue('email'); // Adding properties
returnUserObj.displayEmail = userRec.getDisplayValue('email');
//phone
returnUserObj.phone = userRec.getValue('phone'); // Adding properties
returnUserObj.displayPhone = userRec.getDisplayValue('phone');
//Department
returnUserObj.department = userRec.getValue('department');
returnUserObj.displayDepartment = userRec.getDisplayValue('department');
//Cost Center
returnUserObj.costCenter = userRec.getValue('cost_center');
returnUserObj.displayCostCenter = userRec.getDisplayValue('cost_center');
//Manager
returnUserObj.manager = userRec.getValue('manager');
returnUserObj.displayManager= userRec.getDisplayValue('manager');
//Location
returnUserObj.location = userRec.getValue('location');
returnUserObj.displayLocation = userRec.getDisplayValue('location');
//VIP Flag
returnUserObj.vip = userRec.getValue('vip');
return (JSON.stringify(returnUserObj));
}
else
return;
},
type: 'UserClientScriptUtil'
});
Comments
Post a Comment