Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. # Template for GlideAjax call
  2.  
  3. This is a template form returning more thatn one variable from script include,
  4.  
  5. or returning a single values but as an object type with property and value.
  6.  
  7. --
  8.  
  9. Example:
  10.  
  11.  
  12. * Client Side (Catalog Client script, etc):
  13.  
  14. ```javascript
  15. function onLoad() {
  16.  
  17. var arr = {
  18. name: "lucius",
  19. department: "5d7f17f03710200044e0bfc8bcbe5d43",
  20. };
  21. var strArr = Object.toJSON(arr);
  22.  
  23. var ga = new GlideAjax('MultipleValues');
  24. ga.addParam('sysparm_name', 'findMember');
  25. ga.addParam('sysparm_val', strArr);
  26. ga.getXML(Log);
  27. }
  28.  
  29. function Log(response) {
  30. var answer = response.responseXML.documentElement.getAttribute("answer");
  31. if (answer != null) {
  32. answer = answer.evalJSON()
  33. if (typeof answer === 'object') {
  34. setFields(answer);
  35. } else {
  36. console.log("Response is not an object ! It is: " + (typeof answer));
  37. // parseFlatResponse()
  38. }
  39. } else {
  40. console.log("Response from server in null");
  41. }
  42. }
  43.  
  44. function setFields(answer) {
  45. console.log(answer);
  46. //console.log(answer.property);
  47. }
  48. ```
  49.  
  50. * Server Side (Script Include):
  51.  
  52. ```javascript
  53. var MultipleValues = Class.create();
  54. MultipleValues.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  55.  
  56. type: 'MultipleValues',
  57.  
  58. findMember: function() {
  59. var data = '';
  60. var fields = {
  61. user_name: '',
  62. email: ''
  63. };
  64. var json = new JSON();
  65. var val_pass = this.getParameter('sysparm_val');
  66. var obj = json.decode(val_pass);
  67.  
  68. var record = new GlideRecord('sys_user');
  69. record.addQuery('first_name', obj.name);
  70. record.addQuery('department', obj.department);
  71. record.query();
  72. while (record.next()) {
  73. fields.user_name = record.user_name.toString();
  74. fields.email = record.email.toString();
  75. }
  76.  
  77. data = json.encode(fields);
  78. return data;
  79. },
  80. });
  81. ```
  82.  
  83. ## Additional comments
  84.  
  85. Also arrays can be passed to the server as well like:
  86.  
  87. * Client Side
  88.  
  89. ```javascript
  90. var arr = [val1, val2, val3, val4];
  91. var strArr = Object.toJSON(arr);
  92.  
  93. var ga = new GlideAjax('MyScriptInclude1');
  94. ga.addParam('sysparm_name','getPolicy');
  95. ga.addParam('sysparm_Array', strArr);
  96. ga.getXML(Log);
  97. ```
  98.  
  99. * Server Side
  100. ```javascript
  101.  
  102. var strArr = this.getParameter('sysparm_Array');
  103. var arr = new JSON().decode(strArr);
  104. //arr = [val1, val2, val3, val4];
  105. var user = arr[0];
  106. var user_name = arr[1];
  107. var email = arr[2];
  108. var manager = arr[3];
  109.  
  110. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement