提交给AngularJS应用程序的非AngularJS表单 - URL需要重写

时间:2015-12-11 02:21:05

标签: javascript angularjs apache mod-rewrite

我有一个AngularJS搜索应用程序,但搜索框本身位于(非angularJS)标准html页面中。输入如下:

<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应用程序的一部分不是一个选项)

1 个答案:

答案 0 :(得分:0)

我使用的完整方法如下:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;