Javascript 刷新前删除查询字符串

Javascript 刷新前删除查询字符串,javascript,query-string,Javascript,Query String,当用户刷新我的页面时,我希望删除在刷新实际发送到服务器之前可能存在的查询字符串(不是更改值,而是完全删除它)。我这样做是为了为我的web应用程序的用户节省时间 从外观上看,我可以捕捉到页面在客户端通过beforeunload事件以某种方式刷新。现在在这个事件中,我可以删除查询字符串并让它在没有任何查询字符串的情况下刷新到我的页面吗 [编辑] 如果查询字符串param存在,服务器将使用该数据查询数据库并返回数据。如果它不存在,它就不会这样做。该应用程序将数据存储在本地存储器中。其中一部分数据是gu

当用户刷新我的页面时,我希望删除在刷新实际发送到服务器之前可能存在的查询字符串(不是更改值,而是完全删除它)。我这样做是为了为我的web应用程序的用户节省时间

从外观上看,我可以捕捉到页面在客户端通过
beforeunload
事件以某种方式刷新。现在在这个事件中,我可以删除查询字符串并让它在没有任何查询字符串的情况下刷新到我的页面吗

[编辑] 如果查询字符串param存在,服务器将使用该数据查询数据库并返回数据。如果它不存在,它就不会这样做。该应用程序将数据存储在本地存储器中。其中一部分数据是guid字符串,ID是该浏览器用于此应用的本地存储。我可以将其同步到服务器数据库。我也可以和别人分享。共享会向他们发送带有guid字符串的查询字符串ID的URL。当他们单击链接时,查询see的it queries DB会将信息发送回您的好友设备,以便本地存储以供他们查看。如果他们刷新页面,它会再次刷新。没有什么不好的事情会发生,因为javascript会确保数据不会被复制,但速度会变慢。我的应用程序是99%的客户端,因此永远不需要使用查询字符串刷新页面。它应该只需要使用查询字符串导航到它一次,以获取共享数据所需的数据


因此,在一天结束时,这样做只会节省时间。它省去了在服务器上重新查询数据库的麻烦,也省去了在客户端重新处理数据的麻烦。如果这样做没有害处,只是为了提高效率。

在事件处理程序中,您可以获取当前url并用空字符串替换查询字符串段

尝试以下方法:

window.location = window.location.replace(/\?.*/, '');

这将返回一个不带查询字符串的新url。

您在查询字符串中保留了什么样的数据?您可以在客户端忽略它吗?在beforeunload中不能这样做,因为它只允许您返回用于确认的字符串。先刷新页面,不使用参数,这样以后的刷新就正确了,怎么样?更新帖子,告诉我为什么要这样做。