Я разрабатываю приложение ember.js которого начальная страница находится по адресу:Установка location.href в ember.js
https://localhost:8443/
Я хочу, чтобы выполнить перенаправление с JavaScript по следующему адресу, если пользователь проверка подлинности:
https://localhost:8443/admin
Чтобы сделать это, я пишу код следующим образом:
App.ApplicationRoute = Ember.Route.extend({
model: function() {
var that = this,
session = this.get('session'),
sessionService = this.get('services').session();
return sessionService.getStatus().then(function (sessionStatus) {
session.setProperties(sessionStatus);
if (/^\/[signup]|[forgotPassword]/.test(that.router.get('url'))) return;
if (!session.get('authenticated'))
that.transitionTo('signin');
else
window.location.href = window.location.origin + '/admin';
});
}
});
Однако, когда я выполнить это, страница переходит на:
https://localhost/admin
Я также попытался location.assign()
с тем же результатом.
Почему установка location.href
или location.assign()
удаляет номер порта из URL-адреса? Это что-то, что сделает Ember.js Router?
Любой другой способ я могу выполнить это?
Похоже, что я допустил ошибку в том, как я добавил путь к 'location.href'. Вместо того, чтобы писать 'location.href = location.origin + '/ admin /';', я написал 'location.href = location.origin + '/ admin';'. Ключ был завершающим косой чертой. – codematix