Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Template for GlideAjax call
- This is a template form returning more thatn one variable from script include,
- or returning a single values but as an object type with property and value.
- --
- Example:
- * Client Side (Catalog Client script, etc):
- ```javascript
- function onLoad() {
- var arr = {
- name: "lucius",
- department: "5d7f17f03710200044e0bfc8bcbe5d43",
- };
- var strArr = Object.toJSON(arr);
- var ga = new GlideAjax('MultipleValues');
- ga.addParam('sysparm_name', 'findMember');
- ga.addParam('sysparm_val', strArr);
- ga.getXML(Log);
- }
- function Log(response) {
- var answer = response.responseXML.documentElement.getAttribute("answer");
- if (answer != null) {
- answer = answer.evalJSON()
- if (typeof answer === 'object') {
- setFields(answer);
- } else {
- console.log("Response is not an object ! It is: " + (typeof answer));
- // parseFlatResponse()
- }
- } else {
- console.log("Response from server in null");
- }
- }
- function setFields(answer) {
- console.log(answer);
- //console.log(answer.property);
- }
- ```
- * Server Side (Script Include):
- ```javascript
- var MultipleValues = Class.create();
- MultipleValues.prototype = Object.extendsObject(AbstractAjaxProcessor, {
- type: 'MultipleValues',
- findMember: function() {
- var data = '';
- var fields = {
- user_name: '',
- email: ''
- };
- var json = new JSON();
- var val_pass = this.getParameter('sysparm_val');
- var obj = json.decode(val_pass);
- var record = new GlideRecord('sys_user');
- record.addQuery('first_name', obj.name);
- record.addQuery('department', obj.department);
- record.query();
- while (record.next()) {
- fields.user_name = record.user_name.toString();
- fields.email = record.email.toString();
- }
- data = json.encode(fields);
- return data;
- },
- });
- ```
- ## Additional comments
- Also arrays can be passed to the server as well like:
- * Client Side
- ```javascript
- var arr = [val1, val2, val3, val4];
- var strArr = Object.toJSON(arr);
- var ga = new GlideAjax('MyScriptInclude1');
- ga.addParam('sysparm_name','getPolicy');
- ga.addParam('sysparm_Array', strArr);
- ga.getXML(Log);
- ```
- * Server Side
- ```javascript
- var strArr = this.getParameter('sysparm_Array');
- var arr = new JSON().decode(strArr);
- //arr = [val1, val2, val3, val4];
- var user = arr[0];
- var user_name = arr[1];
- var email = arr[2];
- var manager = arr[3];
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement