- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 03:32 AM
Hello All,
I am trying to get the URL parameters from the onLoad Client script when catalog item is loaded, here we are using an issue where in few scenarios the complete URL is getting loaded before the client scripts are running where in some scenarios the URL is loading after the client scripts ran, and resulting in null parameter values.
Example :
scenarios 1: URL is like (com.glideapp.servicecatalog_cat_item_view.do?v=1&&sysparm_id=SYS_ID&sysparm_myparm=SYS_ID)
Here parameter values are getting properly and URL is getting loaded at once.
scenarios 2: URL is like (nav_to.do?uri=%2Fcom.glideapp.servicecatalog_cat_item_view.do%3Fv%3D1%26%26sysparm_id%3Da86e23491b64ac906417542d1e4bcbe0%26sysparm_myparm%3D70d0e7a2db3d381089ab6e9d13961914)
Here parameter values are getting as null because first a portion of URL is getting loaded(service-now.com/nav_to.do) and then the remaining url is getting appended.
Is there a way to hold the client script or any other way to achieve this?
Regards,
Prudhvi
Solved! Go to Solution.
- Labels:
-
Customer Service Management

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 04:16 AM
Hi,
Use this updated code for getParameterValue function. This will work for both the views as well as Service Portal
function getParameterValue(name) {
var url = top.location.href;
var value = new URLSearchParams(url).get(name);
if (value) {
return value;
}
if (!value) {
var gUrl = new GlideURL();
gUrl.setFromCurrent();
value = gUrl.getParam("sysparm_id");
return value;
}
}
Palani

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 03:38 AM
Hi,
URL for scenario 1 and 2 are completely different. You may need to decode the URL parameters before using it. Share me the script you are using. I can help you to work for both scenarios.
Thank you,
Palani
Palani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 03:41 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 04:16 AM
Hi,
Use this updated code for getParameterValue function. This will work for both the views as well as Service Portal
function getParameterValue(name) {
var url = top.location.href;
var value = new URLSearchParams(url).get(name);
if (value) {
return value;
}
if (!value) {
var gUrl = new GlideURL();
gUrl.setFromCurrent();
value = gUrl.getParam("sysparm_id");
return value;
}
}
Palani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2021 07:06 AM
Thanks Palani, it worked as expected.
Regards,
Prudhvi