Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Widget: parse response from c.server.get

stryker129
Mega Guru

c.parameters = {sys_id: sys_id, action: "getCustomerBySysId"};

              c.server.get(c.parameters).then(function(response) {

                      console.log("customer", response.data.customer);

                      console.log("name", response.data.customer.name);

                      console.log("status", response.data.customer.status);

              });

This is the Client Script. Each console.log says that this is an object, but they are just Strings in the DB.

This is the Server Script:

var y = new GlideRecord('x_11111_customers');  

                              y.addQuery('sys_id',input.sys_id);  

                              y.query();  

                              while(y.next())  

                              {  

                                              data.customer = y;

                              }

              }

How can I get name and status of a Customer in Client Script side ?

And how also can I get a Reference field (e.g. customer has "Manager" field which is Reference). How in this case I can get "name" from manager field ?

Thanks

9 REPLIES 9

Ujjawal Vishnoi
Mega Sage

In client controller you can use $scope.data.customer. Below is the sample client controller.



function($scope) {


  /* widget controller */


  var c = this;


var aa= $scope.data.customer;


}


It doesn't work. It returns undefined.


I need it by response from c.server.get


Could you please share your client and server side code of the widget.


Sure:


Client Script:


function($scope, spUtil) {


      /* widget controller */


      var c = this;


       


        c.server.get({


              action: "getCustomerBySysId",


              sys_id: sys_id


      }).then(function(response) {


              console.log("customer", response.data.customer);


              console.log("name", response.data.customer.name);


              console.log("status", response.data.customer.status);


      });


}



Server Script:



(function() {


      /* populate the 'data' object */


      /* e.g., data.table = $sp.getValue('table'); */


     


      if (input){


                  if (input.action == 'getCustomerBySysId'){


                      var y = new GlideRecord('x_11111_customers');


                      y.addQuery('sys_id',input.sys_id);


                      y.query();


                      while(y.next()) {


                              data.customer = {


                                      name: y.name,


                                      status: y.status


                              };


                      }


              }


        }


})();