我有一个node.js服务器。该服务器有一个小API。我用AngularJS构建了一个App,我的问题是,如果我对服务器进行ajax调用,我会得到一个字符串,而不是一个对象。
服务器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);
})
})
我希望有人可以帮助我因为我绝望。
答案 0 :(得分:1)
我建议根据您的数据向请求添加内容类型(让函数知道预期会发生什么)。
此外,您可以尝试使用JSON实用程序将数据转换为对象。 E.g:
http://www.quora.com/How-can-I-convert-JSON-format-string-into-a-real-object-in-JS
取决于你实际得到的回报。