Skip to main content

AJAX call example 2: return single value

AJAX call example 2: return single value

Client script code:

//--author: RDS Feb 2018
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        // return;
    }
    var ga=new GlideAjax('fj_servicerequest_ajax');
    ga.addParam('sysparm_name', 'refreshItemDescription');
    ga.addParam('sysparm_req_type', newValue);
    ga.addParam('sysparm_req_category', g_form.getValue('fj_request_category'));
    ga.addParam('sysparm_req_subcategory',           g_form.getValue('fj_request_subcategory'));
     ga.getXMLAnswer(function(answer) {
         //alert('AJAX return:' + answer);
         g_form.setValue('fj_request_shortdescription',answer);
     });
    }
}

Script include script (client callable):

var my_ajax_funcs_sc = Class.create();
my_ajax_funcs_sc.prototype = Object.extendsObject(AbstractAjaxProcessor, {
   
    refreshItemDescription: function (){
        var sreturn='';
       
        var sDescr='';
        var sChrg='No';
        var grFJReq=new GlideRecord('u_fujitsu_request_types');
        grFJReq.addQuery('u_request_type', this.getParameter('sysparm_req_type'));
        grFJReq.addQuery('u_request_category', this.getParameter('sysparm_req_category'));
        grFJReq.addQuery('u_request_subcategory', this.getParameter('sysparm_req_subcategory'));
        grFJReq.query();
        if (grFJReq.next()){
            sreturn=grFJReq.u_request_short_description;
            
        }
        return (sreturn);
    },

    type: 'my_ajax_funcs_sc'
});

Comments

Popular posts from this blog

ServiceNow check for null or nil or empty (or not)

Haven't tested these all recently within global/local scopes, so feel free to have a play! option 1 use an encoded query embedded in the GlideRecord , e.g.  var grProf = new GlideRecord ( 'x_cls_clear_skye_i_profile' ); grProf . addQuery ( 'status=1^ owner=NULL ' ); grProf . query (); even better use the glideRecord  addNotNullQuery or addNullQuery option 2 JSUtil.nil / notNil (this might be the most powerful. See this link ) example: if ( current . operation () == 'insert' && JSUtil . notNil ( current . parent ) && ! current . work_effort . nil ())  option 3 there might be times when you need to get inside the GlideRecord and perform the check there, for example if the code goes down 2 optional routes depending on null / not null can use gs.nil : var grAppr = new GlideRecord ( 'sysapproval_approver' ); var grUser = new GlideRecord ( 'sys_user' ); if ( grUser . get ( 'sys_id' , current . approver )){...

Code a pause/wait - gs.sleep or gs.wait alternative, pause script for specified seconds (timer)

Code a pause/wait - gs.sleep / gs.wait alternative, pause script for specified seconds (timer)  e.g. 10 seconds: do_sleep ( 10000 ); function do_sleep ( milliseconds ) { var start = new Date (). getTime (); for ( var i = 0 ; i < 1e7 ; i ++) { if (( new Date (). getTime () - start ) > milliseconds ){ gs . print ( 'waking up!' ); break ; } } }