GlideAjax (client → server)
Asynchronous, so the form never freezes. The Script Include must be client callable.
// Script Include "UserInfoAjax" (client callable)
var UserInfoAjax = Class.create();
UserInfoAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEmail: function () {
var user = new GlideRecord('sys_user');
return user.get(this.getParameter('sysparm_user')) ? user.getValue('email') : '';
},
type: 'UserInfoAjax',
});
// Client script
var ga = new GlideAjax('UserInfoAjax');
ga.addParam('sysparm_name', 'getEmail');
ga.addParam('sysparm_user', g_form.getValue('caller_id'));
ga.getXMLAnswer(function (email) {
g_form.setValue('u_contact_email', email);
});