scripting issue

SLeelaRaR
Tera Contributor

Hi ,Here I wrote the  server side & client script to auto populate the caller values  when caller is changed ., but i am not getting perfect result ., so please correct my code to achieve the result.
----script include ------

var PopulateCallerData = Class.create();
PopulateCallerData.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getcaller: function() {
        var callerObj = {};
        var gr = new GlideRecord('sys_user');
        gr.addQuery('sys_id', this.getParameter('sysparm_user_id'));
        gr.query();

        if (gr.next()) {
            callerObj.fname = gr.getValue('first_name');
            callerObj.lname = gr.getValue('last_name');
            callerObj.email = gr.getValue('email');
            callerObj.manager = gr.getValue('manager');
        }
        return JSON.stringify(callerObj);
       
       
    },



    type: 'PopulateCallerData'
});

------------client script--------------
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }

    var ga = new GlideAjax('PopulateCallerData');
    ga.addParam('sysparm_name', 'getcaller');
    ga.addParam('sysparm_user_id', g_form.getValue('caller_id'));
    ga.getXMLAnswer(function(response) {
        var result = JSON.parse(response);
        alert(result);
    });

   

}
I am getting result as [object object] in alert ., in alert I want to get the result.
5 REPLIES 5

SophiaGraham
Kilo Contributor

Your code looks good! Maybe check GlideRecord for correct parameters?