我有一个 REST Url http://localhost/issues
,向我展示了一个用于查询错误跟踪系统问题的搜索表单。搜索表单有一个带有name="f"
. 形式的作用是action="/issues"
和method=GET
。因此,如果我在文本字段中键入“foobar”,我将被重定向到http://localhost/issues?f=foobar
.
为了防止页面重新加载,我将 AJAX 与 jquery 一起使用。所以我曾经$(document).on('submit',...)
将一个AJAX查询函数绑定到表单的提交函数上。我使用萤火虫来证明,jquery 发送请求并且没有重新加载页面。我还具有将响应结果填充到浏览器中显示的站点的功能。第一次搜索尝试一切正常。
但是,如果我在文本字段中键入另一个搜索字符串“anotherfoobar”并重新发送请求,请求 URL 是http://localhost/issues?f=foobar&f=anotherfoobar
,因此搜索参数仅附加到 URL,而不是更新,因为我认为它会发生。
我已经在 stackoverflow 上阅读了有关“散列”URL 参数以防止这种行为的内容,但不完全理解发生这种情况的原因和原因以及“散列”的确切含义。也许这对我来说不是正确的解决方案。所以我恳请有人解释我如何解决这个问题。