刷新前查询字符串删除

时间:2012-12-01 15:53:51

标签: javascript query-string

当用户刷新我的页面时,我想删除在刷新实际发送到服务器之前可能存在的查询字符串(不是更改值但完全删除它)。我正在为我的网络应用程序的用户节省时间。

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

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

所以在一天结束时这样做只会节省时间。它节省了必须重新查询服务器上的数据库,并节省了必须在客户端重新处理数据。如果这样做没有害处,只是想提高效率。

1 个答案:

答案 0 :(得分:1)

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

尝试类似:

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

这会返回一个没有查询字符串的新网址。