1

在我的 HTML 表单中,我需要这样的 URL 输出:“example.com/mycontroller/action/mike/apple”

  • 当我使用“post”提交表单时,我的表单值不可见,可以通过“_POST”获取。我不喜欢这个,因为它会产生这样的输出:“example.com/mycontroller/action/”
  • 当我使用“get”提交时,我的表单变为“example.com/mycontroller/action?type=mike&key=apple”
  • 我也不喜欢使用 javascript 更改表单操作,例如:“onSubmit 获取 select 的值并将其附加到表单操作”因为我不希望此代码段依赖于 javascript。
  • 我可以使用“get”或“post”来提交表单,解析 POST 或 GET 的系统变量并进行重定向。像这样:将这个“example.com/mycontroller/action?type=mike&key=apple”重定向到这个“example.com/mycontroller/action/mike/apple” 但是我没有发现这个解决方案设计得很好。是否可以使用斜杠传递表单值(除了问题标记)

    < form class="well form-horizontal" id="myform" 
               method="get" action="/mycontroller/action" >
            <select name="type" id="type">
                <option value="mike" selected="selected">
                                    mickey bricks</option>
                <option value="albie">albert</option>
            </select>
    
            <input type="text" name="key" class="input-xlarge"
                         id="key" required="required">
    
            <button type="submit" class="btn btn-primary" id="submit">
                submit
            </button>
      </form>
    
4

1 回答 1

1

如果你制作一个POST表格,它发布哪里并不重要,重要的是它重定向到哪里。许多站点搜索会将您重定向到 www.domain.com/search/search_terms,因此如果这是一个搜索表单,那么重定向到../action/mike/apple.

此外,如果它是一个POST表单,它不会被搜索爬虫填写(或者至少据我所知不是),所以表单发布到哪里并不重要,重要的是返回值和哪里它是否重定向。

这一切都取决于你想要完成什么。

于 2012-07-15T18:13:45.277 回答