Skip to main content

AJAX call example 1a: return multiple values (Using JSON)

AJAX call example 1a: return multiple values (Using JSON)

 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

Popular posts from this blog

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }

ServiceNow - script include: build up the results as a JSON object (array) - example 2

function call var sCurrentGroupMembers = new <script_include> (). getGroupMembers ( group_sysid ); gs . print ( 'sCurrentGroupMembers:' + sCurrentGroupMembers ); var oGroupMembers = JSON . parse ( sCurrentGroupMembers ); gs . print ( JSON . stringify ( oGroupMembers . users )); oNewGroupMember = JSON . parse ( group_members ); var oGroupConfig = getGroupDeltas ( oGroupMembers . users , oNewGroupMember ); gs . print ( JSON . stringify ( oGroupConfig . remove )); gs . print ( JSON . stringify ( oGroupConfig . add )) output : *** Script: sCurrentGroupMembers: {"manager":"3b2649efdb0f8c10cc0652f3f39xxxxx", "email":"", "type":"33a2226edb99c340edfc7cbdae96xxxx", "description":"Created for xyz", "users":[{"user":"3b2649efdb0f8c10cc0652f3f396xxxx"},{"user":"856a8f71db3d73041b4ffc45ae96196a"},{"user":"3752771