将数据从ExpressJS发送到AngularJS ERROR json

时间:2016-05-07 19:59:47

标签: javascript angularjs json node.js express

当我想将数据从Express发送到Angular时,我遇到了问题 我收到错误:

  

SynatxError:JSON.parse:JSON数据的第1行第1列意外的数据结尾

文件:controller.client.js

$scope.getData = function() {
        $http.get('http://localhost:3000/getData').then(function(response) {
            alert('good: ');
            console.log(JSON.parse(response));
        }, function(error) {
            alert('Error: ');
            console.log("error: ");
            console.log(error);
        });
    } 

文件:server.controller.js

exports.getData = function(req, res) {
    var data = {
        "name": "kacper",
        "age": 12
    };
    console.log('getData function: ');
    console.log(data);

    res.json(data);
}

文件server.routes.js

app.get('/getData', index.getData);

并始终在我的回复中是错误:

  

SynatxError:JSON.parse:JSON数据的第1行第1列意外的数据结尾

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

从您的服务器,您将通过res.json(data)发送回复。

res.json()发送JSON响应。当angular获得响应时,它已经是JSON了。你不需要再次解析它。按原样使用。

了解详情:http://expressjs.com/en/4x/api.html#res.json