UI Page using GlideAjax in Client returning null
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-07-2018 11:34 AM
Hello,
First time posting here and new to ServiceNow! My issue is with my UI Page's Client Script/Script Include returning a null answer for the value.
The basic goal of the code is to change an HTML button red/amber/green based on if the query is hitting true. I'm trying to return true/false and test that inside the client, essentially making the server do the heavy lifting of running the queries and then testing the results it pushes back. The code I have posted here is for the red color change condition only.
Client Script in UI Page
$ = jQuery.noConflict(true);
$( document ).ready(function() {
//Type appropriate comment here, and begin script below
var a = new GlideAjax('TOER_color_change');
a.addParam('sysparam_name','redColor'); //calling the function in the client script
a.getXMLAnswer(red_color_check);
console.log('run');
function red_color_check(response)
{
var answer = response;
console.log('r_answer: '+answer);
if(answer == true)
$('#VNTV').css('background-color','red');
}
});
Script Include
var TOER_color_change = Class.create();
TOER_color_change.prototype = Object.extendsObject(AbstractAjaxProcessor, {
redColor:function()
{
var rd = new GlideRecord('u_bcm_incident');
rd.addEncodedQuery('active=true^priorityIN1,2^u_caused_by=1');
rd.query();
var r_result = false;
if(rd.next())
r_result = true;
return r_result;
},
type: 'TOER_color_change'
});
When I console log ["r_answer: " +result] it gives me null every time. I've read through quiet a few threads on here including this one which was similar but I'm still getting null!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-07-2018 12:31 PM
Here is the code a little easier to read:
Client Script in UI Page
$ = jQuery.noConflict(true);
$( document ).ready(function() {
//Type appropriate comment here, and begin script below
var a = new GlideAjax('TOER_color_change');
a.addParam('sysparam_name','redColor'); //calling the function in the client script
a.getXMLAnswer(red_color_check);
console.log('run');
function red_color_check(response)
{
var answer = response;
console.log('r_answer: '+answer);
if(answer == true)
$('#VNTV').css('background-color','red');
}
});
Script Include
var TOER_color_change = Class.create();
TOER_color_change.prototype = Object.extendsObject(AbstractAjaxProcessor, {
redColor:function()
{
var rd = new GlideRecord('u_bcm_incident');
rd.addEncodedQuery('active=true^priorityIN1,2^u_caused_by=1');
rd.query();
var r_result = false;
if(rd.next())
r_result = true;
return r_result;
},
type: 'TOER_color_change'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-07-2018 01:10 PM
You can directly call script include inside the function than querying in script section
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-08-2018 05:40 AM
Are you talking about calling the script include inside of the function red_color_check?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-08-2018 07:13 AM
Brian these link will help you:
Re: How to call script include within ui page
Re: How do I include a script include into a ui page?
If you are still not able to figure out let me know then I can help you in detail.