通过传递查询字符串来过滤产品。但问题是每次我选择一个过滤器查询时都会附加到url并重新加载页面。我不想重新加载页面只是通过查询字符串并通过进行ajax调用过滤产品。 就像flipkart 正在做
这是 my page
请让我帮忙解决这些问题。
答案 0 :(得分:4)
您可以使用jquery ajax
。这太简单了
您需要创建一个ashx / asmx页面,该页面将根据传递的url参数返回结果。我建议返回JSON
作为结果。
jQuery ajax可以如下使用。 jQuery API
$.ajax({
url: "GetItems.ashx?design=1";
}).done(function() {
alert("Got the results");
});
然后,您可以使用jQuery模板呈现JSON数据。 jQuery API
答案 1 :(得分:0)
一些兼容HTML5的网络浏览器已经实现了一个历史API,可以用于类似于你想要的东西:
if (history.pushState) {
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?myNewUrlQuery=1';
window.history.pushState({path:newurl},'',newurl);
}
我测试过,它工作正常。它不会重新加载页面,但它只允许您更改URL查询。您将无法更改协议或主机值。
了解更多信息:
http://diveintohtml5.info/history.html
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history