Javascript 重新加载页面后加载动态生成的jQuery页面

Javascript 重新加载页面后加载动态生成的jQuery页面,javascript,jquery,html,Javascript,Jquery,Html,我有一个用jQuery编写的搜索脚本。要提交查询,用户按enter键,然后创建结果页面的URL,类似于search/query/。但是,当您重新加载页面、单击转到其他页面的结果或从上一页面返回时,搜索结果不再存在。为什么会这样 我的jQuery代码是: $(document).ready(function(){ $("#search").keyup(function(e){ if(e.keyCode==13){ var search=$(this)

我有一个用jQuery编写的搜索脚本。要提交查询,用户按enter键,然后创建结果页面的URL,类似于search/query/。但是,当您重新加载页面、单击转到其他页面的结果或从上一页面返回时,搜索结果不再存在。为什么会这样

我的jQuery代码是:

$(document).ready(function(){
    $("#search").keyup(function(e){
        if(e.keyCode==13){
            var search=$(this).val();
            var query=encodeURIComponent(search);
            var yt_url='search.php?q='+query;
            window.location.hash='search/'+query+'/';
            document.title=$(this).val()+" - My Search Script";
            $.ajax({
                type:"GET",
                url:yt_url,
                dataType:"html",
                success:function(response){
                    $("#result").html(response);
                }
            });
        }
    });
});

这是因为您使用AJAX调用动态加载搜索结果。如果页面被重新加载,这些信息就会丢失


一种可能的解决方案是将搜索查询和/或结果存储在用户会话中。然后,您将能够在页面重新加载时自动添加内容。

当用户重新加载javascript时,所有变量和函数都将重新初始化。JavaScript不会在页面之间传递变量。您要么需要服务器端解决方案,要么使用JavaScript存储。后者可能不适用于所有浏览器

@Callum,实际上您可以尝试将搜索查询添加到页面hash search=my search,并在页面加载时调用您的搜索函数(如果哈希存在)。这也会对您有所帮助,因为状态是“保存回”按钮。@callum,请尝试window.location.hash。您也可以使用正则表达式。试试网络搜索。有很多例子。