Javascript-window.location.href和window.location.replace在同一页面的url末尾添加ID时不起作用

Javascript-window.location.href和window.location.replace在同一页面的url末尾添加ID时不起作用,javascript,Javascript,我正在创建一个评论表单,它发布一条评论,从服务器接收带有评论ID的响应,然后将用户重定向到评论所在的评论页面。以下是我尝试过的: window.location.href=http://localhost:5000/image/${imgId}#c${res.data.comment_id} 窗口。位置。替换(http://localhost:5000/image/${imgId}#c${res.data.comment_id}) 其中imgId是注释部分的id,res.data.comme

我正在创建一个评论表单,它发布一条评论,从服务器接收带有评论ID的响应,然后将用户重定向到评论所在的评论页面。以下是我尝试过的:

  • window.location.href=
    http://localhost:5000/image/${imgId}#c${res.data.comment_id}

  • 窗口。位置。替换(
    http://localhost:5000/image/${imgId}#c${res.data.comment_id}

  • 其中imgId是注释部分的id,res.data.comment_id是注释本身的id

    这两种方法都不管用。当我使用未附加ID的url时(即window.location.href=
    http://localhost:5000/image/${imgId}
    ),页面正确加载,尽管它不会自动滚动到我想要的注释。需要注意的是,评论表和评论部分在同一页上。还应该注意的是,当我从不同的页面访问url时,它确实按预期工作。我还尝试添加以下内容

    window.location.reload()

    在我给出的两个示例之后,它确实会正确刷新页面,但不会像我尝试的那样自动将用户重定向到注释


    我还应该提到,当我在不同的位置(即localhost:3000)隔离表单(这是一个React应用程序)时,页面会正确重定向。由于某些原因,当表单位于它应该重定向到的同一页面上时,当有id附加到末尾时,它不会重定向。

    使用
    window.location.hash=“#c${res.data.comment\u id}”
    感谢您的回复。不幸的是,这与我给出的两个示例(将hashtag添加到url,但没有加载带有新注释的页面)的效果相同,对我来说效果很好。尝试在此页面的控制台中运行
    window.location.hash=“#answers”
    ,您会看到它工作正常。这是因为#answers已加载到页面上。我试图从本质上重新加载页面,并将用户放置在新生成的元素上。我的猜测是,注释元素没有在服务器端呈现,因此没有正确地滚动到用户的视图中。在这种情况下,您可以获取元素并使用
    scrollIntoView
    函数。使用
    window.location.hash=“#c${res.data.comment_id}”
    感谢您的回复。不幸的是,这与我给出的两个示例(将hashtag添加到url,但没有加载带有新注释的页面)的效果相同,对我来说效果很好。尝试在此页面的控制台中运行
    window.location.hash=“#answers”
    ,您会看到它工作正常。这是因为#answers已加载到页面上。我试图从本质上重新加载页面,并将用户放置在新生成的元素上。我的猜测是,注释元素没有在服务器端呈现,因此没有正确地滚动到用户的视图中。在这种情况下,您可以获取元素并使用
    scrollIntoView
    函数。