我无法解释自己的头衔。我想要的是在斜杠之间获取字符串。像那样: 的 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.但如果我不在新闻标签中,例如< strong> www.example.com/foo 当我使用搜索字段时,它的工作完美。我只需要一个if语句,如果我在新闻页面就像另一个页面。
答案 0 :(得分:1)
您可以简单地使用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");
答案 1 :(得分:0)
问题似乎在于您的网址被重定向。请尝试以下代码。
select: function(event, ui) {
if(window.location.href = "/news/" + ui.item.slug){
}
else
window.location.href ="/news/" + ui.item.slug;
}