在Node.js中发送对Angular.js的回复

时间:2016-11-27 23:53:10

标签: javascript angularjs json node.js

我正在使用Angular和Node,并将从GET请求向客户端控制器发送响应。

当我使用本机节点而不是Express.js时,用于发送响应的代码行似乎不起作用

这是我的角度控制器:

app.controller('testCtrl', function($scope, $http) {

        $http.get('/test').then(function(response){ 

            $scope = response.data;

        });

});

这基本上路由到以下服务器脚本:

http.createServer(function onRequest(req, res){ 

    if(req.method==='GET'){

        var scope = 'this is the test scope';

        res.json(scope); // TypeError: res.json is not a function           
    }   

}).listen(port);
除非我使用快速服务器

,否则res.json()会抛出错误
var app = express();

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

    if(req.method==='GET'){

        var scope = 'this is the test scope';

        res.json(scope); // OK!         
    }

 }).listen(port);

我很确定json()函数带有节点。在使用本机节点服务器时,如何将响应发送回角度?

1 个答案:

答案 0 :(得分:3)

res.json不在HTTP response的API中。

标准方法是使用res.write()docs)然后res.end()docs)。但在您的情况下,由于您没有发送大量数据,因此您可以使用快捷方式,只需使用带有res.end()参数的data:)