0

我开始使用 php 最小 MVC 实现。但是对于 MVC,我发现很难使用传统的 HTML 表单在 GET 方法中传递参数。

例如我的 mvc 路径调用是“ www.example.com/?route=products/search/balck shirt”。

我想使用 html 表单在 GET 方法中传递搜索词“黑色衬衫”。

<form method="GET" action="www.example.com/?route=products/search/">
<input type="text" name="src" />
<input type="submit" />
</form>

这将导致调用为“ www.example.com/?src=black%20shirt”。我正在失去"?route="一部分。我该如何解决这个问题?我知道 POST 是首选方法,但在自然网站中,搜索词应附加到 url,以便可以在其他地方共享链接。

提前致谢。

4

2 回答 2

0

您必须确保 GET 参数被urlencoded。这将导致网址 www.example.com/?route=products/search/black%20shirt (注意 %20)

于 2012-12-19T19:32:49.457 回答
-1

使用 js/jquery 作为获取请求发送并根据您的 mvc 需要构造 url,如果我正确理解了您的问题,您需要使其与 mvc 一起使用。

<form action="javascript:;">
<input type="text" name="route" value="products/search/">
<input type="text" name="src" />
<input type="submit" />
</form>

<script>
$(function(){
    $("input[type='submit']").on("click",function(){

        if($("input[name='src']").val().length>0)
        {
            window.location=$("input[name='route']").val() + $("input[name='src']").val();
        }

    });
})
</script>
于 2012-12-19T19:39:27.393 回答