从一个Express阿比获取Emberjs数据

问题描述 投票:0回答:1

我内置连接到以下this guide灰烬应用程序的明确API。我核实,我的API路线与邮差正常工作。当我尝试调用从烬一个GET问题就出现了。

MEENApp /应用/路由/ routes.js

    router.get('/blogposts',(req, res) => {
console.log("API GET REQUEST");
BlogPostSchema.find({}, (err,blogpost) => {
    if(err) {
        res.send(err);
    }
    console.log(blogpost);
    res.json(blogpost);
})});

当从应用程序余烬被调用的console.log(的相关博客文章)输出正确信息发送到控制台

    [ { _id: 5c588e1bc23c5e5620c59b4e,
    title: 'Helloooo',
    body: 'teeest',
    datePosted: 2019-02-04T19:10:19.422Z,
    __v: 0 },
  { _id: 5c589c1f773a76461cf1e4be,
    title: 'titletest',
    body: 'bodytest',
    datePosted: 2019-02-04T20:10:07.790Z,
    __v: 0 },
  { _id: 5c58becee53d4925a88c20fb,
    title: 'titletest2',
    body: 'titletest2',
    datePosted: 2019-02-04T22:38:06.660Z,
    __v: 0 },
  { _id: 5c58cf647d0a52086c5aac5d,
    body: 'rere',
    title: 'rerere',
    datePosted: 2019-02-04T23:48:52.477Z,
    __v: 0 } ]

然而恩贝尔不显示此数据调用一次。

MEENAPP / EmberApp /应用/路由/ Index.js

import Route from '@ember/routing/route';

export default Route.extend({
  model() {

    var code = this.store.findAll('blogpost');
    console.log(code);
    return this.store.findAll('blogpost');
  }
});

控制台铬节目

{isFulfilled: false, isRejected: false, _objectsDirtyIndex: 0, _objects: null, _lengthDirty: true, …}

但是,它的工作原理,如果我是将数据手工输入到烬的API给了我喜欢

MEENAPP / EmberApp /应用/路由/ Index.js

import Route from '@ember/routing/route';

    let blogposts = [
      {
        "_id": "5c588e1bc23c5e5620c59b4e",
        "title": "Helloooo",
        "body": "teeest",
        "datePosted": "2019-02-04T19:10:19.422Z",
        "__v": 0
      },
      {
        "_id": "5c589c1f773a76461cf1e4be",
        "title": "titletest",
        "body": "bodytest",
        "datePosted": "2019-02-04T20:10:07.790Z",
        "__v": 0
      },
      {
        "_id": "5c58becee53d4925a88c20fb",
        "title": "titletest2",
        "body": "titletest2",
        "datePosted": "2019-02-04T22:38:06.660Z",
        "__v": 0
      },
      {
        "_id": "5c58cf647d0a52086c5aac5d",
        "body": "rere",
        "title": "rerere",
        "datePosted": "2019-02-04T23:48:52.477Z",
        "__v": 0
      }
    ];


    export default Route.extend({
      model() {
        return blogposts;
      }
    });

我显示此的方式是通过一个视图组件后,显示通过在索引页面显示职位的模型后,我循环。

MEENAPP / EmberApp /应用/型号/ blogpost.js

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  body: DS.attr('string')
});

MEENAPP / EmberApp /应用/组件/视图后/ template.hbs

  <p>{{blogpost.title}} - {{blogpost.body}}</p>

MEENAPP / EmberApp /应用/模板/ index.hbs

{{#each model as |blogpost|}}
  {{view-post blogpost=blogpost}}
{{/each}}

我很困惑的哪一部分是不正确。至于我能看到API作品和烬正确的呼吁,它。

javascript node.js express ember.js
1个回答
0
投票

每默认情况下,从后端余烬数据expects数据有效载荷是JSON:API格式。作为@Lux提到的,你的有效载荷是不是JSON:API标准,所以的findAll返回一个空数组。

您可以通过customizing Serializers告诉烬数据对您的自定义数据格式或你改变你的后台发送JSON:API兼容的数据。

有很多libraries supporting JSON:API的。例如,您可以在当前的Express服务器使用jsonapi-serializer,序列化的有效载荷烬数据(即使有一个express server example)。

© www.soinside.com 2019 - 2024. All rights reserved.