gpt4 book ai didi

javascript - 平均堆栈应用程序 : Page does not rerender on refresh, 但仅返回 JSON

转载 作者:行者123 更新时间:2023-12-03 04:41:50 25 4
gpt4 key购买 nike

我目前正在设计一个 MEAN.js Web 应用程序,由于某种原因,每当我在路由或 window.reload 上刷新页面时,它不会重新渲染页面,而只返回在当前找到的 JSON 文件路线。

例如,当我在 localhost:8080/people 时:

如果我从主页单击此处,我​​会得到

Picture of home page

但是如果我出于某种原因点击刷新或重新加载页面

Picture of result

有谁知道为什么会发生这种情况以及如何解决它?

最佳答案

大概您正在使用 Angular 调用的 html5Mode routing .

这使用 pushState and friends 。这些浏览器功能旨在允许您构建一个 Web 应用程序,该应用程序具有看似独立的页面具有独特的真实 URL,但当您更改页面时,您实际上会修改当前页面的 DOM(以状态 B),而不是从头开始加载新的状态。

pushState 及其 friend 的设计意图是,如果您请求映射到状态 B 的唯一真实 URL,那么服务器将直接向浏览器提供状态 B 的 HTML。

这意味着:

  • 如果您在没有先进入主页的情况下到达网站,那么您直接加载您尝试加载的内容(这比加载主页然后用 JavaScript 修改它要快)。
  • 如果您在 JavaScript 不工作的情况下到达网站(可能是 for many reasons ,那么一切仍然有效。另请参阅 Progressive EnhancementUnobtrusive JavaScript

您做错的地方是,您的 URL 映射到基于 JSON 的 API,而不是生成页面的服务器端进程。

您需要编写服务器端进程。您可以考虑使用Accept header允许他们与 API 共享 URL(因此服务器根据客户端所说接受的内容返回 JSON 或 HTML)。

关于javascript - 平均堆栈应用程序 : Page does not rerender on refresh, 但仅返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com