只是一些介绍:
在电子商务模板中,基于“Symfony”我正在使用AJAX请求从可用页面(无限滚动)加载所有产品。当我有这样一个清晰的URL时,一切都很完美:
http://example.com/path
我正在使用ajax请求从可用页面加载产品,这里有一些要检查的代码(注意,不是整个功能代码,而是影响URL的部分):
$().ready(function(){
infiniteCollectionInit('{{ (request.url~'page1.ajax') }}');
});
function infiniteCollectionLoad(url, mode){
infiniteCollectionPage++;
url = url.replace('page1.ajax', 'page' + infiniteCollectionPage + '.ajax');
}
这只是在网址末尾添加page1.ajax, page2.ajax ...
问题从页面中使用过滤器时开始,在这种情况下,URL转换为:
http://example.com/path/?mode=grid&max=60&min=0&sort=newest
现在,当向下滚动并且需要加载下一页的项目时,URL为:
http://example.com/path/?mode=grid&max=60&min=0&sort=newestpage1.ajax
任何人都可以帮助我在变量之前添加page1.ajax
:
http://example.com/path/page1.ajax?mode=grid&max=60&min=0&sort=newest
感谢。
答案 0 :(得分:1)
应该是这样的:
var u = new URL("http://example.com/path/?mode=grid&max=60&min=0&sort=newest")
var newUrl = u.origin + u.pathname + 'page.ajax' + u.search;
如果从前一个URL重用URL,则可能需要将u.pathname替换为固定路径。否则你继续添加它。