Вставка get запроса в урл
На некое событие вешаю ajax:
var data = { action : 'sort_product', order : order, orderby: _this.data('orderby'), term : _this.data('term') }; $.ajax({ url : ajaxurl, type: 'post', data: data, success: function(data){ $('#loop').empty().html(data); // как вставить строку get запроса в url браузера? // делаю так: history.pushState('', '', window.location.pathname+'?'+$.param(data)); // но в урл что-то не понятное: [url]http://site.ru/?0=%3C&1=p&2=r&3=e&4=%3E&5=A&6=r&7=r&8=a&9=y&10=%0A&11=(&12=%0A&13=+&14=+&15=+&16=+&17=%5B&18=a&19=c&20=t&21=i&22=o&23=n&24=%5D&25=+&26=%3D&27=%3E&28=+&29=s&30[/url] } }); |
var data = { action: 'sort_product', order: order, orderby: _this.data('orderby'), term: _this.data('term') }; $.ajax({ url: "ajaxurl", type: "post", data: data, success: function(data){ $("#loop").empty().html(data); var url = new URL(window.location); url.search = new URLSearchParams(data); history.pushState("", "", url); } }); Но зачем пустое состояние??? Может лучше так? var data = { action: 'sort_product', order: order, orderby: _this.data('orderby'), term: _this.data('term') }; $.ajax({ url: "ajaxurl", type: "post", data: data, success: function(data){ $("#loop").empty().html(data); window.location.hash = new URLSearchParams(data); } }); |
Спасибо большое
|
Интресно, возможно удалить пустые параметры?
|
Вы имеете в виду такое?
var data = { action: 'sort_product', order: order, orderby: _this.data('orderby'), term: _this.data('term') }; $.ajax({ url: "ajaxurl", type: "post", data: data, success: function(data){ $("#loop").empty().html(data); var params = new URLSearchParams(data); for(const [key, value] of new URLSearchParams(params)) { if(value === "") params.delete(key); } window.location.hash = params; } }); |
Часовой пояс GMT +3, время: 12:45. |