HTML 表单和输入数据

HTML Form and input Data

我正在尝试向“...: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 请求?

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

真诚的, 雨果·肖科茨

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

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

HTTP 重定向

  1. 使用查询字符串将表单提交给 URL。
  2. 使用server-side代码读取查询字符串
  3. 生成你想要的URL
  4. 302 Found 状态代码和 Location header 响应,其中包含新的 URL

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

JavaScript

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

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