Мне нужно сохранить данные на фабрике услуг после вызова ajax. Все работает без location.href. Но он не работает, когда я помещаю код строки $ window.location.href. Это код:выполнить услугу после вызова ajax в AngularJS
scope.res = function(id){
factoryService.getLista(id,"en-US","")
.then (function(response){commonVarService.setA(response.A);
commonVarService.setB(response.B);
commonVarService.setC(response.C);
$window.location.href="./menu/menu.html";
})
.catch(function(err) {console.log(err)});
};
Где, factoryService позволяют сделать Ajax вызов, wherease commonVarService позволяет запоминать данные в переменных сервиса. Если не существует $ window.location.href = "", все это работает, но когда есть $ window.location.href, приложение перенаправляет на новую страницу без сохранения переменной. где это моя ошибка? Есть ли хорошее решение? Спасибо заранее.
код commonVarService заключается в следующем:
angular.module ('common_variable', []) .Service ('commonVarService', функция() {
/*a*/ this.getA = function(){ return this._a; } this.setA = function(a){ return this._a=a; } /*b*/ this.getB = function(){ return this._b; } this.setB = function(b){ return this._b = b; } /*c*/ this.getC = function(){ return this._c; } this.setC = function(c){ return this._c = c; } });
Я также попытался просто ввести строку в качестве параметра:
commonVarService.setA ("A"); commonVarService.setB ("B"); commonVarService.setC ("C")
, но когда я нахожусь в новом page.html из HREF ссылки, переменной A, B, C не определены ... Я не знаю ..
Спасибо в adavance!
предоставьте исходный код setA, setB и setC. – mtamma
Привет, я поставил код набора. Он работает, но когда я ставлю $ window.location.href = "", он не работает. Я не понимаю, почему .. – raoen
как вы определяете свой маршрут?является одним из ваших маршрутов, используя menu.html? – mtamma