【问题标题】:HTML Form and input DataHTML 表单和输入数据
【发布时间】:2020-12-06 08:54:19
【问题描述】:

我正在尝试向“...:8000/find/alvin/”发送 GET 请求

使用我使用下面的 html 代码创建的表单

<form method="get" 
      style="position:absolute;right:0" 
      rel="search" 
      action="/find/">
      
  <input type="text" 
      class=" form-control"  
      name="value" 
      placeholder="Search⌕"/>  
      
  <button type="submit" class="d-none" >SUBMIT</button>
  
</form>

,但是在输入名称并点击提交按钮后,我被发送到“...:8000/find/?value=alvin/”

,如何使用表单、文本类型输入和提交按钮向我想要的 URL 发送 GET 请求?

非常感谢任何帮助, 感谢您花时间阅读我的问题

真诚地, 雨果·肖科特斯

【问题讨论】:

  • 嗯?问题是什么?地址...:8000/find/?value=alvin/ 使用此表格是正确的。
  • 有没有更好的方法来写这个表格?如果可能的话,把我带到这个地址“...:8000/find/alvin”
  • 不,这个表格没问题(不能写得更好),使用 .htaccess 和 mod_rewrite 来完成你的工作。

标签: html get request


【解决方案1】:

将表单数据放在查询字符串中是使用表单传递数据的正常方式。

如果您想将其更改为使用您正在使用的样式的 URL,那么有两种方法:

HTTP 重定向

  1. 让表单使用查询字符串提交到 URL。
  2. 使用服务器端代码读取查询字符串
  3. 生成你想要的网址
  4. 使用 302 Found 状态代码和带有新 URL 的 Location 标头进行响应

(您可以为此使用任何您喜欢的语言,并且某些服务器具有可以配置为执行此操作的模块(例如 mod_rewrite),而无需使用实际的编程语言)。

JavaScript

  1. 监听表单上的提交事件
  2. 防止表单提交的默认行为
  3. 从表单字段中读取值
  4. 构造新网址
  5. 将新 URL 分配给 location,以便浏览器导航到它

无论哪种方式,请确保对您在 URL 中输入的任何值进行转义,以便用户在表单中输入具有特殊含义的字符不会给您带来任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2020-03-12
    • 1970-01-01
    • 2023-04-01
    • 2021-09-30
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多