Как мне получить мои данные от res.json()
[Server] объекта ответа в $http.get()
[Controller]?
У меня такое ощущение, что это как-то связано с content-type
, так как я не хочувручную введите $scope.message = data.data.message;
Я играю со стеком MEAN и пытаюсь отобразить данные из Express в Angular с помощью ng-bind
.
Server.js
использует .get()
в /api
маршрут для ответа простым объектом 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": {"сообщение ":" Hello World "}," status ": 200," config ": {" method ":" GET "," transformRequest ": [null]," transformResponse ": [null]," jsonpCallbackParam ":" callback"," url ":" / api "," headers ": {" Accept ":" application / json, text / plain, /"}}," statusText ":" OK "," xhrStatus":" complete "}