我无法用头衔来解释自己。我想要的是在斜线之间得到字符串。就像这样:www.example.com/foo/bar/id/1,我想要"foo"。因为这些密码是我做的。
select: function(event, ui) {
if(window.location.href = "news/" + ui.item.slug){
window.location.href =null;
}
else
window.location.href ="news/" + ui.item.slug;
}
我有一个自动完成的搜索字段。当我单击一个结果时,它会将我重定向到这个页面中的www.example.com/news/34523,如果我再次使用搜索字段,它将我重定向到www.example.com/news/news/12412,之后我得到了404。但是,如果我不在“新闻”选项卡中,例如,当我使用搜索字段时,就可以完美地使用www.example.com/foo。我只需要一个if声明,如果我在新闻页面表现得像另一页。
发布于 2018-05-07 15:04:44
您可以使用location.pathname
属性获取第一个斜杠和第二个斜杠之间的部分,并在此基础上运行代码。
console.log(window.location.pathname);
console.log(window.location.pathname.split("/")[1] === "foo");
为了证明这是有效的,下面是另一个片段,就像url
是window.location
一样
let url = document.createElement('a');
url.href = "http://www.example.com/foo/bar/id/1";
console.log(url.pathname);
console.log(url.pathname.split("/")[1] === "foo");
发布于 2018-05-07 15:19:53
问题似乎在于您的url被重定向。试试下面的代码。
select: function(event, ui) {
if(window.location.href = "/news/" + ui.item.slug){
}
else
window.location.href ="/news/" + ui.item.slug;
}
https://stackoverflow.com/questions/50217130
复制相似问题