【问题标题】:HTML form method with nice URL带有漂亮 URL 的 HTML 表单方法
【发布时间】:2010-01-12 20:54:28
【问题描述】:

我只是想知道是否有办法在不使用 JavaScript 的情况下用“是”来回答这个问题。

我想做的是有一个搜索表单,当我在搜索文本字段中输入 my search term 时,它会自动生成像 http://example.com/search/my+search+term 或类似的 URL。

编辑:由于一些误解(我并不清楚),澄清一下:我希望浏览器在提交表单时根据文本字段的值生成该 URL。

【问题讨论】:

    标签: html forms


    【解决方案1】:

    不,不使用 JavaScript 是不可能的。

    您可以做的最好的事情是使用 GET 操作并使用类似 http://example.com/search/?q=my+search+term 的 url,其中 q 是输入搜索框的名称。

    【讨论】:

    【解决方案2】:

    仅使用 html,不。

    你可以有一些可能工作的服务器端。您可以让服务器使用 302 响应代码进行响应。如果您使用的是 Apache,您可能会使用 mod_rewrite 来获取 GET 请求并生成一个新的 url。

    例如,浏览器可能会请求http://example.com/search/?q=blah+foo+bar,然后服务器可以接受它并向浏览器发送http://example.com/search/blah+foo+bar 的302 重定向。

    Apache url rewriting guide, 或使用您最喜欢的搜索引擎查看更多信息。

    您仍然可以使用 javascript 生成正确的 url,但如果有人禁用了 javascript,这将作为后备。

    【讨论】:

      【解决方案3】:

      答案是否定的

      【讨论】:

      • +1。这就是我所要求的,因此您至少不应该为此投反对票;)
      • 态度很好..我应该说.. :-)
      【解决方案4】:

      不,如果你希望它是客户端,如果你可以在服务器端(通过提交表单)你可以使用 PHP 之类的东西

      【讨论】:

        【解决方案5】:

        是的,只要您不介意提交表单,您就可以很容易地在服务器端执行类似的操作。

        编辑:作者在下面的 cmets 中进一步澄清:如果没有 JavaScript 或其他一些客户端工具,如 Flash/Silverlight(这无疑是矫枉过正),以纯客户端方式是不可能的。

        【讨论】:

        • 我认为这不是所提问题的答案。
        • 嗯?当表单通过 POST 或 GET 提交时,这对我有什么帮助?
        • 怎么不是答案?我现在可以编写一个 python 或 php 脚本来执行此操作。他问他是否可以生成这样的 URL 作为搜索表单的结果,这是 100% 可能的。
        • 在这种情况下,我很抱歉没有把它说得很清楚。我希望浏览器在发送表单时以这种方式生成 URL。
        • 如果你想让浏览器在不使用 JavaScript 的情况下生成它,答案是否定的,除非你想使用一些其他的客户端技术,比如 Flash 或 Silverlight,这有点矫枉过正。
        猜你喜欢
        • 1970-01-01
        • 2012-05-24
        • 2016-02-17
        • 1970-01-01
        • 2014-09-24
        • 2013-07-09
        • 1970-01-01
        • 2013-08-09
        • 2013-05-17
        相关资源
        最近更新 更多