如何更改页面而不刷新整个页面?
问题描述:
今天我使用的是Facebook,我意识到每次更改页面时,即使URL不同,例如,如果您位于时间轴上并点击了个人资料,聊天也不会刷新。如何更改页面而不刷新整个页面?
我想知道如果您知道如何做到这一点或从哪里可以找到有关此行为的信息。
编辑
我读过很多答案,让使用Ajax,但这并不改变URL。
在此先感谢!
答
您可以通过发出AJAX调用(即使用XMLHttpRequest)为页面的一个或多个部分获取HTML或数据(通常为JSON,但可以采用其他格式)来加载页面的一部分,然后只是在原地更新页面的这些部分。但是,在完成此操作后,您在技术上不会更改您所在的页面(客户端散列通常会更新以跟踪当前状态,但在这种情况下路径和服务器端查询参数不会更改) 。当以这种方式更新页面时,History API(特别是pushState()
)允许JavaScript在不导致整页重新加载的情况下导致URL。
这是多少个网站实现“单页应用程序”。
Downvote?为什么? :C –
你没有表现出解决你自己问题的任何企图,而这个问题太广泛了。如果你的问题试着用google搜索标题。 – zzzzBov
@zzzzBov我已经这样做了,但所有的答案都使用jQuery.load,并且这不会更改URL –