在变量旁边的URL中动态添加路径。如何在变量之前移动它?

时间:2018-02-07 07:43:26

标签: javascript jquery ajax

只是一些介绍:

在电子商务模板中,基于“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

感谢。

1 个答案:

答案 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替换为固定路径。否则你继续添加它。