Member 12332582 Ответов: 1

Как я могу полностью перезагрузить веб-страницу при успешном выполнении функции, определенной в контроллере


Привет,
У меня есть контроллер, сделанный в Angular JS, и я хочу перезагрузить всю веб-страницу при успешном выполнении функции.

Моя функция такова :
moveToBench: function (employeeId) {
            return $http.post(myApp.IndecommBaseUrl + '/Workflow?entityId=' + employeeId + '&nextStateId=' + myApp.state.bench)
                     
        }


Кто-нибудь может мне помочь?

Что я уже пробовал:

moveToBench: функция (employeeId) {
вернуть $протоколу HTTP.должность(приложение.IndecommBaseUrl + '/Рабочего Процесса?значением EntityId=' + кодсотрудника + '&амп;nextStateId=' + приложение.государства.скамейка)
. success(функция (данные) {
$маршрут.перезагрузить();
});
}

F-ES Sitecore

Используйте форму, вот для чего она существует. Интернет работал задолго до появления javascript.

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

если вы хотите обновить всю страницу, то используйте это

$window.location.reload();

Примечание: впрысните $window объект


Member 12332582

Потеряю ли я пользовательские данные (файлы cookie) после этой перезагрузки? Если да,то как я могу сделать перезарядку, не потеряв ее?

Karthik_Mahalingam

Потеряю ли я пользовательские данные (файлы cookie) после этой перезагрузки ? Нет
да если срок действия файла cookie истекает в течение этого периода.

Member 12332582

Ладно, я попробовал...

Им получать ошибку "ReferenceError: $не определен"

Member 12332582

Я ввел $window В :

приложение myapp.контроллер('getEmployeesController', ['$охват','$окно", "employeeServices', 'объект DataTable', функция ($объем,$окне, employeeServices, объект DataTable) {
employeeServices. getEmployees (). then (функция (результат) {
$область действия.moveToBench = функция (идентификатор) {

employeeServices.moveToBench(ИД);
}

});


}]);

Karthik_Mahalingam

удалите окно $отсюда
['$scope', '$window',

Member 12332582

С удалением этого я получаю ошибку :

angular.js: 10071 TypeError: employeeServices.getEmployees - это не функция

Karthik_Mahalingam

какая-то синтаксическая ошибка, вы что-то упускаете.

Member 12332582

приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable', функция ($объем, $окне, employeeServices, объект DataTable) {
employeeServices. getEmployees (). then (функция (результат) {
$область действия.данные = результат.сведения;
если (!результат.данных.ошибка) {
объект DataTable.рендер($охвата, ", "employeesList", результат.сведения);
}

$область действия.moveToBench = функция (идентификатор) {

employeeServices.moveToBench(ИД);
}

});

}]);


Это мой контроллер

Karthik_Mahalingam

добавить $window наконец-то

Member 12332582

приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable', функция ($охвата, employeeServices, объект DataTable, $окно) {

Сделать это.

Теперь получаю ошибку :
ReferenceError: $не определен

Karthik_Mahalingam

приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable','$окно', функция ($охвата, employeeServices, объект DataTable, $окно) {

попробовать это

Member 12332582

Сделано. К сожалению, все еще получаю ту же ошибку :(

Karthik_Mahalingam

:(

Karthik_Mahalingam

если это не работает, используйте $timeout и используйте глобальный объект window для перезагрузки страницы.

Member 12332582

Было бы полезно, если бы вы могли показать пример. Извините, но я новичок в программировании и делаю этот проект, чтобы учиться.

Karthik_Mahalingam

ладно,
приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable','$окно' ,'$тайм-аут', функция ($охвата, employeeServices, объект DataTable, $окне,$тайм-аут) {

$timeout(function () { window.location. reload ();}, 100);

Member 12332582

angular.js: 10071 ReferenceError: $timeout не определен

Karthik_Mahalingam

как же так, я выложу простой пример ожидания.

Karthik_Mahalingam

обратитесь к этому коду.
https://jsfiddle.net/z2L5vhtf/

Member 12332582

К твоему сведению, я делаю это в заводской части... Не непосредственно в контроллере

Member 12332582

Я выложу всю свою emp.js страница здесь

Member 12332582

"используйте строгий";

angular. module ('employees', ['ngTable']);

//Маршрутизаторы
myApp.config(функция ($stateProvider) {

// Поиск Сотрудников
$stateProvider.государство (работников, {
URL-адрес: '/работников,
templateUrl: 'partials/employees/employees.html',
данные:{
авт.: верно
}
});

// Добавить Сотрудника
$stateProvider. state ('addEmployee', {
url: '/ addEmployee',
templateUrl: 'partials/employees/addEmployee.html',
данные:{
авт.: верно
}
});

// Вкладка Сотрудник
$stateProvider. state ('сотрудник', {
URL-адрес: ",
аннотация: верно,
templateUrl: 'partials/employees/employeeTab.html',
данные:{
авт.: верно
}
});

// Просмотр Сотрудника
$stateProvider.государство('сотрудник.вид', {
url: "/ viewEmployee / {id}",
Просмотры: {
"viewEmployee": {
templateUrl: "partials/employees/viewEmployee.html",
контроллер: 'viewEmployeeController'
}
},
разрешить: {
employeeResolved: функция (employeeServices, $stateParams) {
вернуться employeeServices.getEmployee($stateParams.идентификатор);
}
},
данные:{
авт.: верно
}
});

// Изменить Сотрудника
$stateProvider.государство('сотрудник.редактировать, {
url: "/ editEmployee / {id}",
Просмотры: {
"editEmployee": {
templateUrl: "partials/employees/editEmployee.html",
контроллер: 'editEmployeeController'
}
},
разрешить: {
employeeResolved: функция (employeeServices, $stateParams) {
вернуться employeeServices.getEmployee($stateParams.идентификатор);
}
},
данные:{
авт.: верно
}
});

});

//Заводские цеха
приложение myapp.фабрика('employeeServices', ['$протоколу HTTP', функция ($протоколу HTTP) {

ВАР factoryDefinitions = {
getEmployees: функция () {
вернуть $протоколу HTTP.вам(приложение myapp.TalentPoolBaseUrl + '/EmployeeState?состояние=&ампер;значение pagenumber=0&амп;pagesize для=0').успех(функция (данных)
{
возвращать данные;
});
},
addEmployee: функция (employeeReq) {

вернуть $протоколу HTTP.пост(TalentPoolBaseUrl + '/работников, employeeReq).успех(функция (данных) { вернуть данные; });
},
getEmployee: функция (employeeId) {

вернуть $протоколу HTTP.вам(приложение myapp.TalentPoolBaseUrl + '/сотрудник/' + кодсотрудника).успех(функция (данных) { вернуть данные; });
},
updateEmployee: функция (employeeReq) {
вернуть $протоколу HTTP.должность(приложение.TalentPoolBaseUrl + '/ employee', employeeReq). success(function (data) { return data; });
},
//moveToBench: функция (employeeId) {
// var data = $. param({
// json-файле: формат JSON.преобразовать в строки({
// "entityId": employeeId,
// "nextStateId": приложение myapp.государства.скамейка
// })
// });
// возврат $протоколу HTTP.должность(приложение.IndecommBaseUrl + '/ Workflow', data). success(функция (данные) {
// возврат данных;
// });
//}
moveToBench: функция (employeeId) {
вернуть $протоколу HTTP.должность(приложение.IndecommBaseUrl + '/Рабочего Процесса?значением EntityId=' + кодсотрудника + '&амп;nextStateId=' + приложение.государства.скамейка)
. success(функция (данные) {
$timeout(function () { window.location. reload ();}, 100);
});
}

}

вернуться factoryDefinitions;
}
]);

//Контроллеры
//приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable', функция ($охвата, employeeServices, объект DataTable, $окно) {
приложение myapp.контроллер('getEmployeesController', ['$охват', 'employeeServices', 'объект DataTable', '$окно', '$тайм-аут', функция ($охвата, employeeServices, объект DataTable, $окне, $тайм-аут) {
employeeServices. getEmployees (). then (функция (результат) {
$область действия.данные = результат.сведения;
если (!результат.данных.ошибка) {
объект DataTable.рендер($охвата, ", "employeesList", результат.сведения);
}

// Цветовые индикаторы для государств
$область действия.calculateClass = функция (работника) {
ВАР StatusColorIndicator = [];
переключатель (работник.государства.государство) {
кейс ' доступен

Karthik_Mahalingam

я это сделаю.

Member 12332582

Хорошо, tnx :)

Member 12332582

Плохо использовать $ тайм-аут, а не в размере окна.расположение.обновить()?

Karthik_Mahalingam

братан, почитай документацию.

Karthik_Mahalingam

<!DOCTYPE html>