AJAX call example 1: return multiple values

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 sReturn;
    },

    _addFavorite : function(name, value) {
        var favs = this.newItem("favorite");
        favs.setAttribute("name", name);
        favs.setAttribute("value", value);
    },

    type: 'my_ajax_funcs_sc'
});

Comments

Popular posts from this blog

Running transform maps asynchronously

Post a command to the ECC queue for the mid server to initiate a powershell file copy

GlideRecord setValue