我通过jQuery Ajax将数据(过滤器选项)发送到服务器,处理结果,一切正常。但是,查询字符串不会显示在URL中。但我需要这样,用户可以复制/粘贴网址并获取过滤后的内容。
根据有关传递数据的文档(http://api.jquery.com/jquery.ajax/):
要发送到服务器的数据。它被转换为查询字符串if 还不是一个字符串。它已附加到GET请求的URL。
我忘记了什么吗?任何提示?谢谢!
这是一个类似于我的工作代码的示例:
$.ajax({
url: 'http://myurl.com/handleAjax',
type: "GET",
data : {filter1 : 1, filter2 : 2}
dataType : 'json'
}).success(function(data) {
..do Stuff with data
}
})

答案 0 :(得分:0)
正如您所注意到的,AJAX请求不会更改地址栏中的URL。这是设计使然,因为AJAX请求是一个单独的后台请求。它与用于加载页面的完全不同。
您可以使用HTML 5 pushState函数更新地址栏中的地址。
var data = {filter1 : 1, filter2 : 2};
var parameterizedData = $.param(data);
var queryString = "?" + parameterizedData;
window.history.pushState(null, "", queryString);