Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AngularJS中$save方法的回调_Node.js_Angularjs_Recaptcha - Fatal编程技术网

Node.js AngularJS中$save方法的回调

Node.js AngularJS中$save方法的回调,node.js,angularjs,recaptcha,Node.js,Angularjs,Recaptcha,我想在angularjs中的$save方法中使用回调 我正在向node.js后端发送一篇博客文章,并将其通过recaptcha验证 按照$resource文档中的操作不起作用: 非获取实例操作:实例。$action([参数],[成功],[错误]) 在服务器中,我使用node.js的simple\u recaptcha模块验证请求中打包的recaptcha质询和响应 var verifyRecaptcha = function(req,res,next){ var privateKey =

我想在angularjs中的
$save
方法中使用回调

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

按照
$resource
文档中的操作不起作用:

非获取实例操作:实例。$action([参数],[成功],[错误])

在服务器中,我使用node.js的
simple\u 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();
};
因此,当验证码正确时,它应该继续并将post添加到db中,如果不正确,后端响应
401
,前端js应该将此识别为错误并刷新recaptcha


我遗漏了什么?

有时我也会在AngularJS(通常非常好)的文档中迷失方向。 就我而言,我在这里找到了一个解决方案:

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

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

您在“浏览器调试工具”“网络”选项卡中看到的内容,如果这是角度侧或节点侧的问题,则应缩小范围。
    post.$save(
        function(data){
            console.log(JSON.stringify(data));
            if(data.error_message){
                 // ... error_message comes from the server
            } else {
                // ...
            }
        }
    );