首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Express res.json() to Angular $http.get()格式问题

Express res.json() to Angular $http.get()格式问题
EN

Stack Overflow用户
提问于 2018-06-11 06:35:47
回答 1查看 431关注 0票数 1

如何从$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' }),如下所示:

代码语言:javascript
复制
...
// 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/)来检索数据,如下所示:

代码语言:javascript
复制
...
$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"}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-11 06:47:04

data参数实际上是response object,响应体可以作为data属性使用。它应该是:

代码语言:javascript
复制
$http.get('/api')
  .then(({ data }) => {
    $scope.message = data;
      console.log('Data: ' + data);
   }, err => {
     console.log('Error: ' + err);
   });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50788639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档