У меня есть приложение поиска AngularJS, однако окно поиска само по себе находится на стандартной (html-странице) (не-angularJS). Вход выглядит следующим образом:
<form accept-charset="UTF-8" name="search" id="search" action="/search/app/#/results" method="get" >
<legend class="title">Search everything!</legend>
<input type="text" class="styledTextInput" name="q" placeholder="Keywords" />
<button class="btn btn-search" type="submit">Search</button>
</form>
Когда форма отправлена, URL-адрес отображается как:
myapp.com/search/app/?q=medical#/results
Чтобы он работал правильно, мне нужен URL-адрес:
myapp.com/search/app/#/results?q=medical
Я пробовал различные способы заставить Apache переписывать URL-адрес, но не был успешным (не совсем моим сильным). Является ли веб-сервер или AngularJS, что мне нужно, чтобы решить это? Все примеры, которые я нашел, предполагают, что форма находится в AngularJS (в моем случае создание части окна поиска в приложении AngularJS не является вариантом)
Полный метод, который я использовал, был следующим:
<script>
jQuery(document).ready(function(){
jQuery('.btn-search').click( function(e) {
e.preventDefault();
var q = $(".styledTextInput").val();
$("#search").attr("action", "/search/app/#/results?q=" + q).submit();
});
});
</script>