如何从$http.get()
控制器中的res.json()
服务器响应对象获取数据
我有一种感觉,这与content-type
有关,因为我不想手动输入$scope.message = data.data.message;
我正在尝试使用均值堆栈,并尝试使用ng-bind
将数据从Express显示到Angular。
Server.js
在/api
路由上使用.get()
来响应一个简单的object res.json({ message : 'Hello World' })
,如下所示:
...
// Server frontend view
app.use(express.static(__dirname + '/public'));
// Configure bodyParser
app.use(bodyParser.urlencoded({'extended':'true'})); // parse application/x-www-form-urlencoded
app.use(bodyParser.json()); // parse application/json
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
// Specify backend route
router.get('/api', (req, res) => {
res.json({message : 'Hello World'});
});
...
Angular控制器使用一个简单的$http.get('/api/)
来检索数据,如下所示:
...
$http.get('/api')
.then(data => {
$scope.message = data;
console.log('Data: ' + data);
}, err => {
console.log('Error: ' + err);
});
...
当我测试localhost:port/api
时,我看到{message:'Hello World'}
,当我使用localhost:port
时,这是我的角度视图,我看到以下数据:
{"data":{"message":"Hello World"},"status":200,"config":{"method":"GET","transformRequest":null,"transformResponse":null,"jsonpCallbackParam":"callback","url":"/api",“headers”:{“Accept”:“应用程序/json,文本/普通文本,/"}},"statusText":"OK","xhrStatus":"complete"}
发布于 2018-06-11 06:47:04
data
参数实际上是response object,响应体可以作为data
属性使用。它应该是:
$http.get('/api')
.then(({ data }) => {
$scope.message = data;
console.log('Data: ' + data);
}, err => {
console.log('Error: ' + err);
});
https://stackoverflow.com/questions/50788639
复制相似问题