Я пишу простое веб-приложение в knockoutJS с Jquery.Если вы представите, что он будет состоять из 3 основных страниц (их намного больше, но давайте сделаем это проще):
- Страница входа
- Страница клиента
- ПредыдущаяСтраница заказов
Каждая страница содержит различные включения JavaScript и разные стили CSS.Первоначально я использовал ASP MVC для этого, и маршруты будут выглядеть так:
- / login
- / customer / {customerId}
- / customer / {customerId}/ Orders /
Теперь, когда я просто использую KnockoutJS, страницы на самом деле:
- login.html
- customer-homepage.html
- customer-orders.html
Теперь суть проблемы при входе в систему.Я связываюсь с веб-сервисом (старый материал asp mvc, представленный как JSON), а затем хочу перенаправить пользователя на страницу клиента, но хочу, чтобы он знал о customerId.
Итак, когда AJAX запрашивает логинвозвращается с действительным идентификатором пользователя, мне нужно было бы как-то перенаправить на следующую страницу, с переменной.Я думал так:
location.href = "customer-homepage.html?customerId=1";
Однако это выглядит немного грязно, и я не знаю, подходит ли такой подход для целей SEO, так как большая часть SEO сосредоточена на URL, поэтомув идеале должен выглядеть как маршрут asp mvc.
Это заставило меня задуматься о том, возможно ли сделать это как одностраничное приложение, но с использованием hashbang для перенаправления, так как я хотел бы иметь возможность перемещаться между страницами, а несделать полный пост обратно.Однако мне нужно было бы выгрузить часть JS / CSS из памяти и затем загрузить более новые вещи.
Я знаю, что это довольно странный вопрос, но из того, что я вижу, мои варианты:
- Использовать запросы на перенаправление с данными строки запроса
- Использовать одностраничное приложение, которое было бы БОЛЬШИМ, но должно было бы решить проблему выгрузки существующих ресурсов (JS / CSS) в память