Issue with Script Include - Unhandled exception in GlideAjax

Community Alums
Not applicable

I think I am pretty close with this, but getting error Unhandled exception in GlideAjax

I am creating MRVS, when asset is selected I need to populate the assigned_to for the asset.

 

My script includes

var FindAssetAssignedTo = Class.create();
FindAssetAssignedToHardware.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getSupportGrp: function()
{
var asgnTo=this.getParameter('syspam_assigned_to_sysid');
var getAsgnTo=new GlideRecord('alm_hardware');
getAsgnTo.addQuery('sys_id',asgnTo);
getAsgnTo.query();
 
while(getAsgnTo.next()) {
var json = new JSON();
 
var object = {
"assignedto" : getAsgnTo.getValue("assigned_to"),
 
};
 
var data = json.encode(object);
 
return data;
}
},
 
type: 'FindAssetAssignedToHardware'
});

 

-----------------------------------------------------------------

My onChange client script

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
//Type appropriate comment here, and begin script below
var ga= new GlideAjax('FindAssetAssignedToHardware');
ga.addParam('sysparm_name','getSupportGrp');
ga.addParam('syspam_assigned_to_sysid',newValue);
 
ga.getXML(FindAssetAssignedToHardwareParse);
 
function FindAssetAssignedToHardwareParse(response) {
 
 
var answer = response.responseXML.documentElement.getAttribute("answer");
 
//var returneddata = answer.evalJSON(true);
var returneddata = JSON.parse(answer);
 
g_form.setValue('assigned_to' , returneddata.assignedto);
}}
-----------------------------------------------------
Any ideas?
7 REPLIES 7

Danish Bhairag2
Tera Sage
Tera Sage

Hi @Community Alums ,

 

Can you try this below script & check

 

Script Include:

 

var FindAssetAssignedTo = Class.create();
FindAssetAssignedTo.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getSupportGrp: function() {
        var asgnTo = this.getParameter('syspam_assigned_to_sysid');
        var getAsgnTo = new GlideRecord('alm_hardware');
        getAsgnTo.addQuery('sys_id', asgnTo);
        getAsgnTo.query();

        if (getAsgnTo.next()) {
            var data = getAsgnTo.assigned_to.toString();
            return data;
        }
    },

    type: 'FindAssetAssignedTo'
});

 

Client Script:

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
//Type appropriate comment here, and begin script below
var ga= new GlideAjax('FindAssetAssignedToHardware');
ga.addParam('sysparm_name','getSupportGrp');
ga.addParam('syspam_assigned_to_sysid',newValue);
 
ga.getXML(FindAssetAssignedToHardwareParse);
 
function FindAssetAssignedToHardwareParse(response) {
 
var answer = response.responseXML.documentElement.getAttribute("answer");
 
g_form.setValue('assigned_to' , answer);
}}

 

Thanks,

Danish

 

AnveshKumar M
Tera Sage
Tera Sage

Hi @Community Alums 

 

Can you try replacing,

 

var data = json.encode(object);

 

with

 

var data = JSON.stringify(object);
 
In your client Callable script include.

 

Please mark my answer helpful and accept as solution if it helped you 👍

Thanks,
Anvesh

Tai Vu
Kilo Patron
Kilo Patron

Hi @Community Alums 

Let's try this cool feature without single line of code. => Auto-populate

TaiVu_0-1699502771113.png

 

Cheers,

Tai Vu

Lon Landry4
Mega Sage

Excellent, I knew about this for regular variables, but missed that it is an option with MRVS.

😀