gpt4 book ai didi

node.js - AngularJS 中 $save 方法的回调

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:32 25 4
gpt4 key购买 nike

我正在寻找一个回调,用于我的 angularjs 中的 $save 方法。

我正在向 node.js 后端发送一篇博客文章,并通过 recaptcha 验证将其传递。

按照 $resource 文档中的方式进行操作不起作用:

非 GET 实例操作:instance.$action([参数], [成功], [错误])

var post = new Posts({
title: this.title,
content: this.content,
response: this.model.captcha.response,
challenge: this.model.captcha.challenge
});

post.$save({},
function(addedpost) {
$location.path('posts/' + addedpost._id);
}, function(error) {
console.log(error);
vcRecaptchaService.reload();
});

在服务器中,我使用 Node.js 的 simple_recaptcha 模块来验证请求中打包的 recaptcha 质询和响应。

var verifyRecaptcha = function(req,res,next){
var privateKey = 'XXXXXXXXXXXXXXXXXXXXXXXX';
var ip = req.ip;
var challenge = req.body.challenge;
var response = req.body.response;
simple_recaptcha(privateKey, ip, challenge, response, function(err) {
if(err) return res.send(401,err.message);
console.log('Recaptcha verified!');
});
next();
};

因此,当验证码正确时,它应该继续并将帖子添加到数据库中,如果不正确,后端会响应 401 并且前端 Angular js 应将其识别为错误并刷新 recaptcha。

我错过了什么?

最佳答案

有时我也会迷失在 AngularJS 的(通常非常好的)文档中。就我而言,我在这里找到了解决方案:how-to-add-call-back-for-resource-methods-in-angularjs

您可以让服务器在 POST 上完成其工作并分析响应,例如:

    post.$save(
function(data){
console.log(JSON.stringify(data));
if(data.error_message){
// ... error_message comes from the server
} else {
// ...
}
}
);

关于node.js - AngularJS 中 $save 方法的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428694/

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