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