我目前正在将window.location.pathname属性设置为重定向用户到相对URL。新的URL有参数,因此JavaScript代码行如下:
window.location.pathname = window.location.pathname.substring( 0, window.location.pathname.lastIndexOf( '/' ) + 1 ) + 'myPage.xhtml?u=' + selected_user.Username;
这在Firefox中是成功的,但是Chrome会用'%3F'对问号进行编码,导致请求失败。
我不确定我是否正确地使用了window.location。我是否需要使用window.location的属性,如pathname或href?我发现一旦设置一个属性,位置将重新加载,因此,例如,不能单独设置搜索和路径名属性。window.location可以直接设置吗?我只需要设置带有参数的相对URL。
location.host
而不是location.hostname
。简而言之,这是因为您的代码在某些时候可能会在端口号不是80的服务器上运行。 - Camilo Martin