res.success 从节点返回前端。Js/Express 应用程序

res.success back to frontend from a Node.Js/Express app

我在我的应用程序和前端使用 AJAX

$.post('/post', $("#submitform").serialize())
                .done(function(res) {
                    //3. Receive the server response, no need to emit an event
                    if (res.success) {
                        //4. Show the updated text
                        console.log('success');
                    }
                    else {
                        alert(res.error);
                    }})
                .fail(function(res) {
                    alert("Server Error: " + res.status + " " + res.statusText);
                });



        return false;
});

我正在从我的节点发回。Js/Express应用程序路由:

res.send(statement);

但是,res.success 没有被触发,而是我进入了 alert(res.error),尽管该过程在后端执行得很好。

我做错了什么?我可以从我的应用后端发送其他内容吗,比如 res.success?

谢谢!

由于您在服务器上使用 ExpressJS 和 NodeJS,因此当 HTTP 请求不正确时,您可以向服务器发送错误状态代码:

res.status(400).send('Bad Request')

在您的客户端脚本中使用 jQuery Deferred Object:

所以你应该使用你的代码:

$.post('/post', $("#submitform").serialize())
    .done(function(res) {
        // Receive the successful server response
        console.log('success');
    })
    .fail(function(res) {
        // Receive the error server response
        alert("Error: " + res.status + " " + res.statusText);
    });