Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to get User Country in client side.

Rahul2
Giga Contributor

How to get User Country in client side.

1 ACCEPTED SOLUTION

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Rahul,

Client Script :

var ga = new GlideAjax('UserObjectUtils');
ga.addParam('sysparm_name', 'userObject');
ga.getXML(HelloWorldParse);
 
function HelloWorldParse(response) {
  var answer = response.responseXML.documentElement.getAttribute("answer");
 // alert(answer); 
g_form.setValue('PASS COUNTRY VARIABLE NAME HERE',answer);
}

Script include name : UserObjectUtils

Client callable : true

Script:

var UserObjectUtils = Class.create();
UserObjectUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {

userObject:function() { 
var user = new GlideRecord("sys_user");
user.addQuery("sys_id", gs.getUserID());
user.setLimit(1)
user.query();
if (user.next()) {
return user.location.country;
}
} ,
   _privateFunction: function() { // this function is not client callable     
    }
 });

 

Reference:

https://docs.servicenow.com/bundle/orlando-application-development/page/script/ajax/topic/p_AJAX.htm...

 

- Pradeep Sharma

View solution in original post

2 REPLIES 2

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Rahul,

Client Script :

var ga = new GlideAjax('UserObjectUtils');
ga.addParam('sysparm_name', 'userObject');
ga.getXML(HelloWorldParse);
 
function HelloWorldParse(response) {
  var answer = response.responseXML.documentElement.getAttribute("answer");
 // alert(answer); 
g_form.setValue('PASS COUNTRY VARIABLE NAME HERE',answer);
}

Script include name : UserObjectUtils

Client callable : true

Script:

var UserObjectUtils = Class.create();
UserObjectUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {

userObject:function() { 
var user = new GlideRecord("sys_user");
user.addQuery("sys_id", gs.getUserID());
user.setLimit(1)
user.query();
if (user.next()) {
return user.location.country;
}
} ,
   _privateFunction: function() { // this function is not client callable     
    }
 });

 

Reference:

https://docs.servicenow.com/bundle/orlando-application-development/page/script/ajax/topic/p_AJAX.htm...

 

- Pradeep Sharma

Ankush Jangle1
Kilo Guru

Hello,

 

Try this code it will help you

 

 

Client Script:

 

var ga = new GlideAjax('GetUserCompany');

ga.addParam('sysparm_name','getComp');

ga.getXML(HelloWorldParse);

function HelloWorldParse(response) {

    var answer = response.responseXML.documentElement.getAttribute("answer");   // answer will now have company sys id; if you want name of company. please do glide record company table to fetch the name of the company.

g_from.setValue('u_location',answer);

 

}

 

 

Script Include:

var GetUserCompany = Class.create();

GetUserCompany.prototype = Object.extendsObject(AbstractAjaxProcessor, {

getComp: function() {

return gs.getUser().getCompanyID(); //returns sys id of an company to client script as an answer

 

}

 

});

 

 

Mark it Helpful/Correct if it helps you