我正在尝试获取此表单的 URL 并使用 AJAX 显示结果,一切正常,但是一旦我访问所实现结果的链接,我就会丢失之前在 AJAX 调用期间检索到的所有数据。我想要的是,当用户按下浏览器上的后退按钮时,他们将返回到同一页面,并在离开页面之前使用从 AJAX 调用检索到的相同数据。我正在建立一个电子商务网站。
$(document).ready(function(){
$("#form").change(function(){
var form=$("#form").serialize();
$.ajax({
type: "GET",
url: "get.php",
data: form,
success: function(html) {
$("#pagination").fadeOut(0).html(html).fadeIn(300);
}
});
return false;
});
});
按下后退按钮后:
我有这个网址:search.php 虽然我需要实现:search.php?brand=Honda&model=etc
最佳答案
您可以操纵浏览器历史记录来做到这一点:
if (typeof (history.pushState) != "undefined") {
var obj = { Title: title, Url: url };
history.pushState(obj, obj.Title, obj.Url);
} else {
alert("Browser does not support HTML5.");
}
在对象中构造您的网址:
var obj = { Title: 'Title of my page', Url: 'search.php?brand='+form.brand+'&model='+form.model };
您必须将此代码放入成功回调函数中。
关于javascript - 显示用户返回页面后 AJAX 调用检索到的相同数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352053/