Выразите проблемы формата res.json () в Angular $ http.get () - PullRequest
0 голосов
/ 11 июня 2018

Как мне получить мои данные от 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 "}

1 Ответ

0 голосов
/ 11 июня 2018
Параметр

data фактически является объектом ответа , а тело ответа доступно как свойство data.Должно быть:

$http.get('/api')
  .then(({ data }) => {
    $scope.message = data;
      console.log('Data: ' + data);
   }, err => {
     console.log('Error: ' + err);
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...