将数据放入 ember 存储和海市蜃楼

Put data in ember store and mirage

我正在将控制器中的数据推送到 ember 存储,如下所示:

    this.get('store').pushPayload({
        "user": [
            {
                "id":2,
                "name":this.get('name'),
                "passwort":this.get('admin')
            }
        ]
      });

这暂时可以正常工作,但在使用 findAll 从 mirage 获取所有用户的路线上重新加载后,新用户将被从商店中删除。 那么是否有可能将新用户保存到 ember 存储或将新对象推送到 mirage 数据库中? 我试过像这样自己发送 post-请求:

$.ajax({
  cache:false,
  type: 'POST',
  url: "/api/test",
  data: JSON.stringify(myData),
  contentType: "application/json",
  success:  function(data) {            
  //
    }
  });

我的 config.js 部分:

this.post('/test', function(schema, request) {
    console.log('foo');
  });

foo 出现了,但我该如何访问我的数据?我试过了

this.post('/test', function(schema, request) {
    console.log('foo');
    console.log(request.data.user.name);
  });

这不起作用,因为用户未定义。

app/mirage/config.js

中将命名空间点添加到 /api
this.namespace = '/api';

this.post('/test', function(schema, request) {
    console.log('You can have look at this request object. this will contains whateever you sent in request ',request);
    var params = JSON.parse(request.requestBody);
    console.log('params :',params);
  });

您可以检查 params 对象以获取所需的参数。有关详细信息,请参阅 mirage docs