jquery ajax搜索表单

时间:2013-03-28 17:54:14

标签: ajax jquery

我有一个REST Url http://localhost/issues向我展示了一个用于查询错误跟踪系统问题的搜索表单。搜索表单包含name="f"的文本字段。表单的操作是action="/issues"method=GET。因此,如果我在文本字段中键入“foobar”,我将被重定向到http://localhost/issues?f=foobar

为了防止页面重新加载,我将AJAX与jquery一起使用。所以我使用$(document).on('submit',...)将AJAX查询函数绑定到表单的提交函数。我用firebug来证明,jquery发送请求并且没有重新加载页面。我还有一个功能可以将响应的结果填充到我在浏览器中显示的站点中。第一次搜索尝试一切正常。

但是,如果我在文本字段中键入另一个搜索字符串“anotherfoobar”并重新发送请求,请求URL为http://localhost/issues?f=foobar&f=anotherfoobar,因此搜索参数仅附加到URL,而不是更新,我认为会发生。

我已经阅读了关于“散列”URL参数的信息,以防止在stackoverflow上出现此行为,但是不能完全理解这种情况发生的原因和原因以及“散列”的含义。也许这对我来说不是正确的解决方案。所以我恳请别人解释我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我已经解决了!不要问究竟是什么,我做了以下几点:

AJAX响应是整个网页,因为我会通过页面重新加载来获得它。使用jquery我选择一个包含搜索表单和结果的div。

我只是为结果定义了一个div,并且只更新结果div的内容。执行此操作后,一切正常,结果会通过多次搜索尝试进行更新。

另一个不知道我做什么的情况,但我做得很好;)

也许有人仍然可以解释我的错误,所以智慧可以上升。