繁体   English   中英

使用javascript更新URL上的最后路径

[英]Update last path on the URL with javascript

我使用分页进行过滤系统,尝试根据当前URL使用Javascript重定向时遇到麻烦。

我可以使用此类URL,其中最后一个数字是过滤器:

http://localhost/posts/yourPosts/1
http://localhost/posts/subscriptions/3

在每种类型的内部,第2页将以这种方式显示:

http://localhost/posts/yourPosts/1/page:2?url=posts%2FyourPosts
http://localhost/posts/subscriptions/3/page:2?url=posts%2FSubscriptions

我目前正在使用:

window.location.href = currentURL + '/' + encodeURI($(this).val());

$(this).val是要使用的过滤器的编号。

问题是,当我使用此URL时,它运行良好:

http://localhost/posts/yourPosts/
http://localhost/posts/subscriptions/

但是,当我在第二页时,我想显示过滤器编号3(可以说是汽车而不是动物),但不是。 它显示如下:

http://localhost/posts/subscriptions/2/page:2?url=posts%2FyourPosts/3

代替这个:

http://localhost/posts/subscriptions/3

有没有简单的方法可以处理URL来解决此类问题?

我不能使用绝对路径,因为URL并不完全相同。 那么...有什么办法可以更改URL的最后一个PATH?

快速且有点脏:

function fixmybadfilterurl(mybadurl)
{
    var parts = mybadurl.split('?');
    var subpart2 = parts[parts.length-1].split('/');
    var subpart1 = parts[0].split('/');
    subpart1.pop();
    subpart1.pop();
    return(subpart1.join('/')+'/'+subpart2[subpart2.length-1]);
}

所以

fixmybadfilterurl('http://localhost/posts/subscriptions/2/page:2?url=posts%2FyourPosts/3');

将返回

'http://localhost/posts/subscriptions/3'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM