我有一个用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);
}
});
}
});
});
答案 0 :(得分:0)
这是因为您正在使用AJAX调用动态加载搜索结果。如果重新加载页面,那么该信息就会丢失。
可能的解决方案是将搜索查询和/或结果存储在用户会话中。然后,您将能够在页面重新加载时自动添加内容。
答案 1 :(得分:0)
当用户重新加载javascript时,所有变量和函数都会重新初始化。 JavaScript不会在页面之间传递变量。您需要服务器端解决方案,或使用JavaScript存储。后者可能无法在所有浏览器中使用。