相关疑难解决方法(0)

Node.js + Express.js应用程序的错误处理原则?

与其他框架相比,Node.js + Express.js应用程序中的错误报告/处理似乎有所不同.我是否理解它的工作原理如下?

A) 通过接收它们作为回调函数的参数来检测错误.例如:

doSomethingAndRunCallback(function(err) { 
    if(err) { … }
});
Run Code Online (Sandbox Code Playgroud)

B) 通过调用next(err)在MIDDLEWARE中报告错误.例:

handleRequest(req, res, next) {
    // An error occurs…
    next(err);
}
Run Code Online (Sandbox Code Playgroud)

C) 通过抛出错误报告 ROUTES中的错误.例:

app.get('/home', function(req, res) {
    // An error occurs
    throw err;
});
Run Code Online (Sandbox Code Playgroud)

d) 处理通过配置通过app.error自己的错误处理的错误()或使用通用连接错误处理程序.例:

app.error(function(err, req, res, next) {
    console.error(err);
    res.send('Fail Whale, yo.');
});
Run Code Online (Sandbox Code Playgroud)

这四个原则是Node.js + Express.js应用程序中所有错误处理/报告的基础吗?

node.js express

176
推荐指数
2
解决办法
4万
查看次数

如何使用passportjs的jquery/ajax数据

如果我使用表单字段发送登录请求action="/login", method="post",它可以正常工作.与此处此处提供的代码类似.

但如果相反,如果我使用相同的信息发送jquery/ajax,那么护照似乎不起作用.没有通过护照进行实际登录,但是ajax调用给出了误导性的成功消息.

以下不起作用.虽然我收到"登录成功"消息,但登录并没有真正发生.

$('#login_button').click(function () {

    var email = $('#email').val();
    var password = $('#password').val();
    alert ('email/pass:' + email + ", " + password);

    $.ajax({
        type: "POST",
        url: "/login",
        data: { email: email , password: password },
        dataType: 'html'
    })
            .done(function () {
                console.log("http request succeeded");
                alert("login success");
            });
});
Run Code Online (Sandbox Code Playgroud)

我需要使用该ajax方法,以便在成功登录后我可以在客户端做一些有用的事情.例如,开始socket.io.

请帮忙.我在这里修改了代码:my-modified-code

javascript ajax jquery node.js passport.js

4
推荐指数
1
解决办法
4233
查看次数

标签 统计

node.js ×2

ajax ×1

express ×1

javascript ×1

jquery ×1

passport.js ×1