Я не могу сделать Угловые (1.5) маршруты без учета регистра. Я попытался добавить caseInsensitiveMatch: true
в конфигурацию маршрута, но мое приложение все равно не загрузится, если я не использую соответствующий случай. Я хочу, чтобы маршруты не учитывались. Вот что мой маршрут конфигурация выглядит следующим образом:AngularJS: Невозможно сделать маршруты нечувствительными к регистру
module SoftwareRegistration {
export class Routes {
static $inject = ["$routeProvider", "$locationProvider"];
static configureRoutes($routeProvider: ng.route.IRouteProvider, $locationProvider: ng.ILocationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: true
});
$routeProvider.caseInsensitiveMatch = true;
$routeProvider
.when("/",
{
controller: "SoftwareRegistration.ListOrdersController",
templateUrl: "app/views/order/listOrders.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.when("/Orders",
{
controller: "SoftwareRegistration.ListOrdersController",
templateUrl: "app/views/order/listOrders.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.when("/Orders/MyOrders",
{
controller: "SoftwareRegistration.ListOrdersController",
templateUrl: "app/views/order/listOrders.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.when("/Orders/Create",
{
controller: "SoftwareRegistration.CreateOrderController",
templateUrl: "app/views/order/createOrder.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.when("/Orders/PaymentInformation",
{
templateUrl: "app/views/order/paymentInformation.html",
caseInsensitiveMatch: true
})
.when("/Orders/:OrderId/AddRecipients",
{
controller: "SoftwareRegistration.AddRecipientsController",
templateUrl: "app/views/order/addRecipients.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.when("/Account/Login",
{
controller: "SoftwareRegistration.LoginController",
templateUrl: "app/views/account/login.html",
controllerAs: "vm",
caseInsensitiveMatch: true
})
.otherwise({ redirectTo: "/", caseInsensitiveMatch: true });
}
}
}
Когда я перейти к https://myserver.com/SoftwareRegistration он работает отлично. Однако, если я перейти к https://myserver.com/softwareregistration я получаю эту ошибку:
angular.js:12165 Uncaught TypeError: Cannot read property 'replace' of undefined
Вот источник angular.js: 12165:
function trimEmptyHash(url) {
return url.replace(/(#.+)|#$/, '$1');
}
Я должен отметить, что отлично работает на моем локальном (чувствительно к регистру) но не работает, когда я раскрываю в IIS
Опасно здесь, но попробуйте удалить свойство 'caseInsensitiveMatch' как из корневого маршрута (т. Е.' '/" '), Так и для catch в противном случае. В любом случае, они не должны иметь никакого влияния, поскольку текст не подходит. – miqid
все еще не работает ... :( – solidau
как URL передается 'trimEmptyHash'? Или, может быть, что такое значение' url'? –