2016-12-27 5 views
1

Я пытаюсь передать адрес электронной почты в качестве параметра строки запроса в маршрут Aurelia.Период в строке строки запроса прерывает маршруты Aurelia

URL-адрес выглядит следующим образом: http://localhost/some/[email protected]

Однако, кажется точка (период) в URL нарушающего маршрут Аурелия, в результате .

Если я удалю точку, маршрут загрузится просто отлично.

Любые идеи, что вызывает это? Я удивлен, что не могу найти никакой информации об этом, поскольку периоды в маршруте должны быть довольно распространенными?

Спасибо!

Edit: Кажется, это не может быть проблемой Aurelia, а скорее вопрос ASP.NET MVC: Dots in URL causes 404 with ASP.NET mvc and IIS

ответ

1

Это, кажется, работает хорошо с базовой настройки, как показано ниже. Я взбивал его вместе с последней версией Aurelia CLI (v0.23). В этой установке есть три файла: вид (HTML), то ViewModel (ц) и маршрут (app.ts):

просмотров/редактирование-dots.html

<template> 
    <p>email: ${email}</p> 
</template> 

просмотров /edit-dots.ts

export class EditDots { 
    public email; 

    activate(params: any) { 
     console.log('here are *all* your parameters: ', params); 
     this.email = params.email; 
    } 
} 

И, наконец, маршрут конфигурации (в app.ts в моем случае):

import { Router, RouterConfiguration } from 'aurelia-router' 

export class App { 

    router: Router; 

    configureRouter(config: RouterConfiguration, router: Router) { 
    config.title = 'Stack'; 
    config.map([ 
     { route: ['', 'home'], name: 'home', moduleId: './views/home', nav: true, title: 'Home' }, 
     { route: 'dots/:id', name: 'edit-dots', moduleId: './views/edit-dots', nav: false, title: 'Create a dot' } 
    ]); 

    this.router = router; 
    } 
} 

Когда я перехожу к http://localhost:9001/#dots/[email protected] с этой настройкой, он аккуратно отображает адрес электронной почты. Конечно, я могу удалить «42», это просто для демонстрационных целей.

Заключительная записка, ваш пример URL не подходит для # -знака. Если это преднамеренно, вы можете указать более подробную информацию о своей конфигурации. В противном случае, помогает ли это добавить его?

Возможно, это также помогает вам?

+0

Приложение настроено для состояния push, поэтому в URL-адресе отсутствует hashbang. Возможно, есть проблема, когда включено состояние нажатия ...? –

+1

Действительно, если вы используете, например, ASP.NET (MVC) для вашего состояния Push, это [известная проблема] (http://stackoverflow.com/questions/11728846/dots-in-url-causes-404- с-Asp-нетто-MVC-и-IIS). Другие технологии или инструменты могут также иметь проблемы? –

+0

Вау, это жутко похоже на мою проблему. :) Не могу поверить, что я уставился на Аурелию - ошибка новобранец! Спасибо за вашу помощь! –