代码之家  ›  专栏  ›  技术社区  ›  panx36

将数据放入ember store和mirage

  •  0
  • panx36  · 技术社区  · 7 年前

    我正在将控制器中的数据推送到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) {            
      //
        }
      });
    

    我的配置。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);
      });
    

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ember Freak    7 年前

    将命名空间点添加到 /api 在里面 app/mirage/config.js

    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