AngularJS:AJAX返回是一个string,而不是一个对象

我有一个node.js服务器。 这个服务器有一个小的API。 我用AngularJS构build一个应用程序,我的问题是,如果我做了一个Ajax调用服务器,我得到一个string回来,而不是一个对象。

服务器API:

exports.api = function(req, res, next) { var path = req.body.path var method = req.body.method digest.request({ host: 'xxx', path: path, port: 80, method: method, headers: { "User-Agent": "Bridge" } }, function (resX) { resX.on('data', function (data) { res.status(200).end(data) }) resX.on('error', function (err) { res.status(200).end(err) }) }) } 

呼叫:

 .controller('TestCtrl', function($scope, $http) { $http({ url: 'http://localhost:8000/api', method: 'POST', data: {'method': 'GET', 'path': '/api'} }).success(function(data, status, headers, config) { console.log(data); }).error(function(data, status, headers, config) { console.log(data); }) }) 

我希望有人能帮助我,因为我绝望。

我会build议根据您的数据添加内容types到请求(让function知道什么期望回来)。

另外,您可以尝试使用JSON实用程序将数据转换为对象。 例如:

http://www.quora.com/How-can-I-convert-JSON-format-string-into-a-real-object-in-JS

取决于你实际回来的东西。