Javascript 快速和实时应用程序。将更新从客户端持久化到服务器持久化到客户端
我正在写一个实时应用程序。基本原则就像聊天,但用户共享youtube视频而不是短信。后端还没有完全完成,我不知道我将如何做。但是我有一些问题要问已经做了些什么 现在,使用user/pass、FB、Twitter进行用户身份验证工作正常,凭证存储在我的数据库中。用户登录也可以正常工作。错误消息得到Javascript 快速和实时应用程序。将更新从客户端持久化到服务器持久化到客户端,javascript,node.js,authentication,express,mongoose,Javascript,Node.js,Authentication,Express,Mongoose,我正在写一个实时应用程序。基本原则就像聊天,但用户共享youtube视频而不是短信。后端还没有完全完成,我不知道我将如何做。但是我有一些问题要问已经做了些什么 现在,使用user/pass、FB、Twitter进行用户身份验证工作正常,凭证存储在我的数据库中。用户登录也可以正常工作。错误消息得到flashed罚款 我在后端使用mongodb(mongoose)和express。它不是一个基于API的设计,因为我不知道如何在API中使用用户身份验证(我可以使用GET/POST/PUT/DELETE
flash
ed罚款
我在后端使用mongodb(mongoose)和express。它不是一个基于API的设计,因为我不知道如何在API中使用用户身份验证(我可以使用GET/POST/PUT/DELETE API,只是不知道如何在API中使用身份验证)
例如,当用户登录使用主页时,将使用express.js路径中的req.body.
验证凭据。如果经过身份验证,请将用户重定向到仪表板,否则将重定向到带有flash消息的signin
。因此,没有Ajax调用,而且目前,该应用程序在任何方面都不是实时的。不过我希望它是实时的
为此,我有三个问题:
值
属性
input.form-control.dash(type="password", name="newuserpassword", ng-minlength=8, ng-model="password", value="__USE_EXISTING__")
input.form-control.dash(type="email", name="newuseremail", required=true, ng-model="email", value=user.email)
exports.update_user = function(req, res) {
var user = new User({
'username' : req.user.username,
'password': req.body.newuserpassword || ,
'email': req.body.newuseremail
});
console.log(user);
user.save(function(err) {
if (err) {
console.log(err);
for (var field in err.errors) {
var error = err.errors[field].message;
req.flash('error', error);
}
res.redirect('/dashboard');
} else {
req.logIn(user, function (err) {
if (!err) {
req.flash('success', 'Done!');
} else {
req.flash('error', 'Something went wrong.');
}
});
}
});
}
非常感谢您的帮助。当我阅读您的文字时,我想: “哼,他试图进行Ajax调用,让视图显示错误或继续” 当我阅读你的代码时,我想: “哼,这是一个同步”给我所有的页面“呼叫” 你想要哪个版本 异步的那个?因此,我们可以向您解释Ajax原理,您真正的问题是UI更新。
同步的那个?这肯定是一个UI问题,您应该为它添加一个标记。我从node/express stack开始,所以我不知道我说得含糊不清。我将编辑这篇文章以包含更多细节。还有,你为什么说代码是同步的?这些方法用于回调,我不是说服务器内部堆栈,而是说完整的堆栈。如果提交失败,您是否希望发布一篇文章并刷新带有错误的整个网页?如果提交成功,是否希望刷新另一页?或者您希望视图对服务器进行异步调用,该调用使用json响应将被修改的当前视图?理想情况下是后者。这将有助于使我的应用程序实时,无需刷新页面。但如果出现错误或成功,您的代码将呈现完整的html页面。。。没有?现在有了。但为了获得更动态的感觉,我希望这样:用户单击“编辑配置文件”,在当前页面顶部打开一个模式,用户更改密码,如果成功,关闭模式,如果不成功,在不重新加载页面的情况下,在模式内显示错误。有人有任何输入吗?