【问题标题】:Sending confirmation alerts from Node/Express to Browser without reloading page从 Node/Express 向浏览器发送确认警报而不重新加载页面
【发布时间】:2013-07-27 18:21:32
【问题描述】:

我有一个带有有效用户身份验证系统的网络应用程序。当用户更新他们的数据(例如电子邮件地址或密码)时,它会向服务器发送一个 POST 请求,服务器进而更新数据库。我想在成功或错误时在现有页面上有一个引导样式的块警报闪烁。我可以通过 (1) 来自服务器的 res.send 响应和 (2) 监视 res.send 数据并将块警报 HTML 代码插入浏览器的 jQuery 脚本的组合来做到这一点吗?

app.post 块(通过发布请求接收更新的用户数据)看起来像这样:

app.post('/updateuser', function(req, res) {
console.log(req.body);
[code here to update database]
res.send('[code to send to jQuery here]');

呈现块警报的 HTML 是:

<div class="alert alert-success">
    <button type="button" class="close" data-dismiss="alert">×</button>
    <strong>Success!</strong>User data has been updated.
</div>

如果可能,(a) 服务器端 res.send 或类似的以及 (b) 客户端 jQuery 代码会是什么样子?

提前致谢!

【问题讨论】:

    标签: javascript jquery node.js express


    【解决方案1】:

    您正在寻找的是连接闪存:https://github.com/jaredhanson/connect-flash

    查看示例https://github.com/jaredhanson/connect-flash/blob/master/examples/express3/views/index.ejs 以在渲染的模板中显示 Flash,或者根据需要使用消息发出警报。

    【讨论】:

    • 谢谢,我正在使用连接闪存,但正在寻找不需要重新加载页面的选项。我会考虑重构我的代码,以便重新加载正常(问题是发送帖子的表单隐藏在 /settings 页面上的导航选项卡中)。
    • 考虑让表单使用 AJAX 而不是完全重新加载。 connect-flash 在 AJAX 表单中应该仍然有效,它只是返回 JSON。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2016-06-06
    • 2016-06-08
    • 2017-02-25
    • 2017-05-09
    • 2011-12-21
    • 2019-03-31
    相关资源
    最近更新 更多