variable substitution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2023 11:20 PM
hii
i need to do variable substitution my http query parameter name is enclave_name and my variable name is enclave_name..if i give any value in script restMessage.setStringParameterNoEscape('enclave_name', 'tes123');mannually its working fine iam getting response.. but i need to do dynamically when ever i select enclave names in enclave_name variable on catalog item i need to populate response in u_comment varible i tried in different ways but its not working sharing script and screen shots kindly help on this
client script ;;;
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ga = new GlideAjax('GetEnclaveData');
ga.addParam('sysparm_name', 'getData');
ga.addParam('sysparm_enclave',g_form.getValue('enclave_name'));
ga.getXMLAnswer(getResponse);
// Get the value of the 'response' variable
function getResponse(answer) {
g_form.setValue('u_comment',answer);
}
}
script include;;;
var GetEnclaveData = Class.create();
GetEnclaveData.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getData:function(){
//gs.log('indise SI','sh1');
var queryParam = this.getParameter('sysparm_enclave');
gs.log("check query param 231"+enclaveValue);
var restMessage = new sn_ws.RESTMessageV2('network access', 'GET Enclave Data By Enclave Name');
restMessage.setStringParameterNoEscape('enclave_name','tes123');its working fine static
restMessage.setStringParameterNoEscape('enclave_name', queryParam);its not working dynamic..i have taken enclave_name values in queryParam..in log iam getting the value which i selected on the catalog item
restMessage.setHttpMethod('GET');
var response = restMessage.execute();
gs.log("check enclave response code"+response.getStatusCode(),'sh1');
var responseBody = response.getBody();
gs.log("check enclave response 1"+responseBody,'sh1');
var httpStatus = response.getStatusCode();
gs.log("check enclave response http"+responseBody,'sh1');
if (httpStatus == 200) {
// Store the response body in a variable
gs.setVariable('response', responseBody);
//return JSON.stringify(responseBody);
return (responseBody);
// gs.log("check enclave response"+responseBody);
}
},
type: 'GetEnclaveData'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2023 01:30 AM
Can you do a queryParam.toString() ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2023 02:08 AM
Hi Hayo lubbers thank you for your response ..i Tried in this two ways but its not working kindly check this
1 .var enclaveValue =queryParam.toString();
restMessage.setStringParameterNoEscape('enclave_name',enclaveValue);
2 .restMessage.setStringParameterNoEscape('enclave_name',queryParam.toString());
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2023 02:21 AM - edited 01-23-2023 02:24 AM
Can you try and see if you find anything when logging everything for this HTTP Request?
And can you test with restMessage.setStringParameter('enclave_name',queryParam.toString());
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-23-2023 03:09 AM
restMessage.setStringParameter('enclave_name',queryParam.toString());
I Tried this also if i use this iam getting the following error code;
statusCode": 500, "errorMessage": "Error while trying to fetch aggregation name with error: local variable 'enaclave_id' referenced before assignment"