JavaScript重定向连接

JavaScript重定向连接,javascript,php,jquery,Javascript,Php,Jquery,我有一个网页www.junk.com,它有一个输入来输入一个ID,然后点击提交。单击该按钮时,将执行以下JavaScript: var host = ""; var Go = { onReady: function() { $(document).on("click", ".event-submit", function(event) { event.preventDefault(); var id = $(".event-id").val();

我有一个网页www.junk.com,它有一个输入来输入一个ID,然后点击提交。单击该按钮时,将执行以下JavaScript:

var host = "";

var Go = {

onReady: function() {

    $(document).on("click", ".event-submit", function(event) {
        event.preventDefault();
        var id = $(".event-id").val();
        window.location.replace(host + "event/" + id);
    });

    $(".event-id").keypress(function(e) {
        if (e.which == 13) {
            var id = $(".event-id").val();
            window.location.replace(host + "event/" + id);
            return false;
        }
    });

}

};

$(document).ready(Go.onReady);
然后将用户带到
www.junk.com/event/1234

这很好,这就是我想要的

在新页面上,
www.junk.com/event/1234
有相同的输入/提交,因此用户可以对新事件执行相同的精确搜索。问题是,这次使用相同的JavaScript,url变成:

www.junk.com/event/event/5678

关于如何使用相同的JavaScript函数,有什么想法吗?但这将是一致的?这将传递给控制器,因此是否最好以另一种方式将数据(事件id)传递给控制器


谢谢

如果主机始终相同,则可以使用不带主机的绝对路径:
window.location.replace(“/event/”+id)

djxak提到您应该使用绝对路径而不是相对路径。当您最终使用“主机”变量时,如果在其后使用绝对路径(带前导斜杠),则应确保没有尾随斜杠。“/event/”中的前导斜杠表示它应该转到/event/从根开始。如果没有前导斜杠,则表示应该转到相对位置

asdf.com/abcd/1234/qwerty
上,根目录将是
asdf.com
。相对位置将删除最后一个斜杠之后的任何内容(留给您
asdf.com/abcd/1234/
),然后添加相对位置

当前位置示例:
asdf.com/abcd/1234/qwerty

相对位置:
x/y/z

asdf.com/abdc/1234/+x/y/z
结果:asdf.com/abcd/1234/x/y/z

绝对位置:
/x/y/z

asdf.com+/x/y/z

结果:asdf.com/x/y/z

您在哪里设置了
主机
?似乎
主机
不是您想要的。它来自哪里?更新了问题,更准确地表示<代码>主机对于我来说,在本地主机和web主机之间进行设置很容易。啊,只需在前面添加一个
/
就可以了。正如@Goblinlord提到的,还有一些细节。谢谢大家!