Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向url添加搜索条件,但可以';不要回去_Javascript_Jquery - Fatal编程技术网

Javascript 向url添加搜索条件,但可以';不要回去

Javascript 向url添加搜索条件,但可以';不要回去,javascript,jquery,Javascript,Jquery,我正在尝试将搜索条件的参数输入到url中,以便可以复制和粘贴特定的搜索 目前我有: // Search criteria in the url var ready = function(e){ $("#filterrific_filter").click(function(){ $.get($("#filterrific_filter").attr("action"), $("#filterrific_filter").serialize(), null, "scri

我正在尝试将搜索条件的参数输入到url中,以便可以复制和粘贴特定的搜索

目前我有:

 // Search criteria in the url
 var ready = function(e){
     $("#filterrific_filter").click(function(){
       $.get($("#filterrific_filter").attr("action"), $("#filterrific_filter").serialize(), null, "script");
       history.pushState(null, document.title, $("#filterrific_filter").attr("action") + "?" + $("#filterrific_filter").serialize());
       e.preventDefault();
     });
     $(window).bind("popstate", function() {
       $.getScript(location.href);
     });
 };
 $(document).ready(ready);
 $(document).on('page:load', ready);
问题是:当点击一个结果,用户试图再次返回搜索页面时,他们不会返回,而是停留在同一页面上。不过url会改变


提前谢谢

尝试删除整个部分:

$(window).bind("popstate", function() {
  $.getScript(location.href);
});
由于您的
plants#show
操作(假设您在Rails后端使用RESTful设计,这是一个猜测)是一个往返请求(不像过滤器那样使用AJAX),并且您的查询字符串URL将在重新加载时正确运行filterrific脚本,因此您最好让back按钮以默认方式工作


免责声明:这是在黑暗中拍摄,没有更多背景。如果它对您不起作用,并且您提供了更多的上下文,我将很高兴地重新访问。

尝试删除整个部分:

$(window).bind("popstate", function() {
  $.getScript(location.href);
});
由于您的
plants#show
操作(假设您在Rails后端使用RESTful设计,这是一个猜测)是一个往返请求(不像过滤器那样使用AJAX),并且您的查询字符串URL将在重新加载时正确运行filterrific脚本,因此您最好让back按钮以默认方式工作


免责声明:这是在黑暗中拍摄,没有更多背景。如果它对您不起作用,并且您提供了更多的上下文,我将很高兴地重新访问。

我对历史/pushstate/popstate的了解不足,但我看到单击过滤器会创建两个历史条目。我猜ready和page:load事件都会触发,所以你也会调用ready函数两次,创建重复的点击处理程序、重复的PushState等。我也看到你的页面中出现错误,比如引导需要jquery…是的,我在本地版本上修复了这一点,但这并没有改变任何事情,不幸的是,我对history/pushstate/popstate缺乏了解,但我看到点击一个过滤器会创建两个历史条目。我猜ready和page:load事件都会触发,所以你也会调用ready函数两次,创建重复的点击处理程序、重复的PushState等。我也看到你的页面中出现错误,比如引导需要jquery…是的,我在本地版本上修复了这一点,但这并没有改变任何事情,不幸的是,这不起作用-如果我删除了另一部分,url不会得到更新,但它会起作用,所以我认为问题就在那里。你能要求什么背景来帮助解决这个问题吗?当你尝试我的建议时,它到底做了什么?另外,为什么需要第二个
$(document).on('page:load',ready)?正如@yezzz的评论所说,这很可能是设置了重复的处理程序,并且可能是导致问题的原因。没有发生任何事情-结果是一样的。我现在尝试删除
$(文档)$(document).on('page:load',ready);
?正如@yezzz的评论所说,这可能是设置了重复的处理程序,并且可能是导致问题的原因。没有发生任何事情-结果是相同的。我现在已尝试删除
$(document)。on('page:load',ready)
现在只有我先刷新页面才有效,所以我想我需要最后两行?你能澄清一下“先刷新页面”吗?如中所示,您先刷新然后按后退,或按后退然后刷新?此外,它现在似乎起作用了…您尝试了其他方法吗?如果我转到搜索页面/公寓无效,我必须在单击按钮之前刷新页面。不,不幸的是,我没有执行任何操作:-(