gpt4 book ai didi

node.js - 使用 GET 请求中的数据,无需重新加载用户页面

转载 作者:太空宇宙 更新时间:2023-11-04 00:58:08 25 4
gpt4 key购买 nike

所以,主题是 Node.js + express + ejs + socket.io + mongoose 所有最新版本上的单页 Web 应用程序。

让我们想象用户在浏览器地址栏中输入“www.app.com/data”。我想根据此数据从数据库获取响应,将其发送回用户并为他呈现基本的“www.app.com”页面,并在其中实现数据库响应。

我对两个选项感到好奇:有或没有页面重新加载的最佳方法是什么,例如,如果用户已经在页面上并且我不想重新加载它 - 只需相应地更改数据库响应。

我可以从他的 get 请求中获取这些数据:

app.get('/:id', function (req, res) {
console.log('got' + req.params.id);
///some db magic here... poof, response ready///
})

但是接下来我该怎么办呢?我正在考虑通过 sockets.io 发送响应,无论如何我都在使用它,但是我怎样才能在不重新加载用户页面的情况下结束这个 GET 呢?如果我必须发回一些东西,我可以通过使用 ejs 再次渲染此页面来响应,但是在重新加载时我不能依赖 sokets、cos - 他与它们断开连接。

你能解释一下我的困惑吗?

最佳答案

最后,我在 URI 中使用 URI 片段标识符,即 #
如果用户输入 http://YourAwesomeApp/#hashtag,您可以使用此监听器捕获 hashtag:

window.onhashchange = function () {        
var hash = location.hash.substr(location.hash.indexOf("#") + 1);
//now hash = hashtag, do your stuff.
};

它完全符合我的需求。

请注意,如果您通过 JS 更改哈希值 (location.hash = some),window.onhashchange 也会触发。

关于node.js - 使用 GET 请求中的数据,无需重新加载用户页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28661766/

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