Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 expressjs-使用节点如何将错误发送回主干网?_Node.js_Backbone.js_Express - Fatal编程技术网

Node.js expressjs-使用节点如何将错误发送回主干网?

Node.js expressjs-使用节点如何将错误发送回主干网?,node.js,backbone.js,express,Node.js,Backbone.js,Express,当我无法获得用户名或密码时,我无法将错误发送回主干网。。关于成功,我得到了成功的信息。有人纠正我的节点代码吗 这是我的节点代码: var http = require('http'), express = require('express'), path = require('path'), jade = require('jade'), stylus = require('stylus'), nib = re

当我无法获得用户名或密码时,我无法将错误发送回主干网。。关于成功,我得到了成功的信息。有人纠正我的节点代码吗

这是我的节点代码:

    var 
    http    = require('http'),
    express = require('express'),
    path    = require('path'),
    jade    = require('jade'),
    stylus  = require('stylus'),
    nib     = require('nib'),
    fs      = require('fs'),
    app     = express();

    function compile(str, path) {
      return stylus(str)
        .set('filename', path)
        .set('compress', true)
        .use(nib());
    }

    app.set('view engine', 'jade');
    app.set('views', __dirname);
    app.use(express.json());
    app.use(express.urlencoded());
    app.use(app.router);

    app.use(stylus.middleware({
        src: __dirname + '/ui',
        compile:compile,
        compress: true
    }));

    app.use(express.static(__dirname +'/ui'));

    app.all('/', function(req, res, next){

        var html;

        fs.readFile('ui/index.html', function(err, data){
            if(err) throw err;
            var fn = jade.compile(data);
            html = fn({name:'Oleg'});

            res.send(html);
        });

    });

    app.post('/home', function(req, res, error){
        var name = req.body.userName,
            password = req.body.password;

if(!name){
return "failed" //not working
}

if(!password){
return "failed" //not working
}

        var successObj = {
            "userName" : name,
            "password" : password
        }

           return res.send(successObj); //i am getting proper out put in backbone. how to send error in case name or password not there?
    });


    http.createServer(app).listen(3000, function(){
        console.log("i am listning to 3000!");
    });

您可以在REST服务中使用HTTP状态代码来指定错误。以下是状态代码列表

在你的情况下,可以使用401

res.send方法可以接受状态代码作为第一个参数:

您还可以使用res.json并指定错误的详细信息


例如:res.json(401,{error:'error password'})

我无法从这个url中得到任何信息。与其使用
return“failed”
try
return res.send(500,{error:'failed'})已尝试,未按预期工作我编写的代码与您的示例相同,但仍不工作