Я должен использовать глобальную переменную в угловом сервисе.Использовать глобальную переменную в службе angularjs
У меня есть функция для получения идентификатора сеанса из родительского приложения. например,
var sessionID;
function AddSessionID(e) {
sessionId = e;
}
Это функция, которую я использовал для получения sessionid, и эта функция вызывается в родительском приложении.
Мне нужно использовать этот идентификатор сеанса (sessionID) внутри угловой службы в качестве параметра.
это мой вызов службы
(function() {
"use strict";
mApp.service('compasService', ['$http', '$q', function ($http, $q) {
//Public API
return {
initialLayout: initialLayout
};
function initialLayout() {
var dataObj = {};
dataObj.command = 'getLayoutCstics';
dataObj.sessionID = sessionId;
dataObj.userid = userID;
var transform = function (data) {
return $.param(dataObj);
},
request = $http({
method: "POST",
url: myURL,
//params:For passing via query string
transformRequest: transform,
dataType: "text",
//To explicitly remove a header automatically added via $httpProvider.defaults.headers on a per request basis
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
crossDomain: true
});
return (request.then(successHandler, erroHandler));
}
})();
Пожалуйста, принеси мне правильный путь, чтобы получить его.
Где именно ваш идентификатор сеанса? Это услуга? –
Как именно sessionID является глобальной переменной? Похоже, вы можете объявить его в пределах области действия. Кроме того, почему бы вам просто не сохранить эту переменную как часть одиночного экземпляра службы? –
Я думаю, его точка зрения в том, что этот 'sessionID' уже является глобальной переменной. Значение задается в другом месте приложения вне области службы Angular JS. –