This class allows the client-side script executing the code on the server side using Script Includes.
To use the SimpleAjax class, complete the following steps:
The class name declared in the script include should match the script include name. To make the script include callable from client-side scripts, please activate the Client Callable attribute. For more information and practical cases, please refer to the Script Includes article. |
This method passes the specified parameter name and value to the server-side function associated with the current SimpleAjax object. The addParam() method can be used several times with different parameters and values.
The server-side code runs only after getXML() is called by client script. Parameter name should start with sysparm_ prefix. Avoid using a predefined sysparm_name parameter name for passing value parameters. |
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
paramName | String | Y | N |
paramValue | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value |
Example:
const sAjax = new SimpleAjax('DurationCalculator'); // call script include sAjax.addParam('sysparm_name', 'getDuration'); // call class method sAjax.addParam('sysparm_start', s_form.getValue('start')); // pass parameter sAjax.getXML(callback); function callback(response) { const answer = response.responseXML.documentElement.getAttribute('answer'); console.log(answer); } |
By calling this method, the client script sends a request to the server where the method and parameters related to the current SimpleAjax object are executed. The request is processed asynchronously. The results will be returned via the function specified as a callback.
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
const sAjax = new SimpleAjax('DurationCalculator'); // call script include sAjax.addParam('sysparm_name', 'getDuration'); // call class method sAjax.addParam('sysparm_start', s_form.getValue('start')); // pass parameter sAjax.getXML(callback); function callback(response) { const answer = response.responseXML.documentElement.getAttribute('answer'); console.log(answer); } |
This method allows to run a script against a table specified. The script is run with the ACL restrictions.
The callback function receives the answer element of the response. |
Parameter(s):
Name | Type | Mandatory | Default Value | |
---|---|---|---|---|
scriptValue | String | Y | N | |
tableName
| String | N | N | |
callback | Function | N | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
const CURRENT_ID = s_form.getUniqueValue(); const simpleAjax = new SimpleAjax(); await simpleAjax.runScript( `const current = new SimpleRecord('task'); current.get('${CURRENT_ID}'); setResult(current.caller.email)`, null, (response) => { console.log(response.data.result); } ) |
This method allows to run a script by a user with the administrator role. The script is run without the ACL restrictions. If the user who does not have the administrator role attempts to a run a script, the script will not be run, and the method will return an empty result. Therefore, before using the script result, verify that the response.data.result
is not empty.
The callback function receives the answer element of the response. |
Parameter(s):
Name | Type | Mandatory | Default Value | |
---|---|---|---|---|
scriptValue | String | Y | N | |
tableName
| String | N | N | |
callback | Function | N | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
const simpleAjax = new SimpleAjax(); await simpleAjax.runAdminScript( `const supportSiteURL = ss.getProperty('simple.auth_page.support_site'); setResult(supportSiteURL)`, null, (response) => { const serverData = response.data.result; console.log(serverData); } ) |