- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
I'm trying to convert List Collector sys_ids to user names using GlideAjax. The List Collector returns comma-separated sys_ids, which I pass to a client-callable Script Include. However, the GlideAjax response is always null.
Script include
var getwatchlistusernames = Class.create();
getwatchlistusernames.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var ids = this.getParameter('sysparm_ids');
var names = [];
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', 'IN', ids);
gr.query();
while (gr.next()) {
names.push(gr.getValue('name'));
}
return names.join(',');
},
type: 'getwatchlistusernames'
});
Catalog Client script
var ga = new GlideAjax('getwatchlistusernames');
ga.addParam('sysparm_name', 'getName');
ga.addParam('sysparm_ids', g_form.getValue('user'));
ga.getXMLAnswer(callback);
function callback(response) {
alert(response);
// g_form.setValue('short_description', response);
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago - last edited 2 weeks ago
Hi @NishmithaS ,
i looked into the your both script include and catalog client script. i have made one change in script include function name and it worked in my PDI
Script include:
var getwatchlistusernames = Class.create();
getwatchlistusernames.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getNames: function() { // getName changed to getNames
var ids = this.getParameter('sysparm_ids');
var names = [];
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', 'IN', ids);
gr.query();
while (gr.next()) {
names.push(gr.getValue('name'));
}
return names.join(',');
},
type: 'getwatchlistusernames'
});
Catalog client script:
var ga = new GlideAjax('getwatchlistusernames');
ga.addParam('sysparm_name', 'getNames');// from getName to getNames
ga.addParam('sysparm_ids', g_form.getValue('user'));
ga.getXMLAnswer(callback);
function callback(response) {
alert(response);
// g_form.setValue('short_description', response);
}
can you try this and let me know still your getting null as the resposne
Thanks,
BK
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
ahoy @NishmithaS,
what scope is your scripts?
also, could you log what is returned from this: g_form.getValue('user')?
✂-----Cutting-out-the---✦AI-noise✦---All-replies-written-and-vouched-for-by-GlideFather---
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @glideFather
Thanks for your reply
Both the Script Include and Client Script are in the Global scope and g_form.getValue('user') return user sysid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello @NishmithaS ,
A null response from GlideAjax almost always means the AJAX call never reaches your Script Include..
please check the :
1) Client callable checkbox is true.
2) Name mismatch (script include and function name check)
3) Script Include must be in the accessible scope
If my response helped mark as helpful and accept the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @yashkamde
Thanks for your reply.
I already checked the Client callable checkbox. It is checked.
The Script Include name and function name are the same.
Both the Script Include and Client Script are in the Global scope, but it is still returning null.