从Ember Controller提取API数据

疯狂的科学家

我是Ember新手,正在尝试创建一个简单的应用程序以从API服务器获取记录。

目前,我正在尝试查询

 this.store.find('validemail',{'email':'abc.gmail.com'}).then(function(response){
    console.log(response);
  });

//控制台登录浏览器

Class {query: Object, store: Class, manager: Class, isLoaded: true, meta: Object…}__ember1434866946710: "ember592"__ember_meta__: Object__nextSuper: undefinedcontent: (...)get content: GETTER_FUNCTION() {set content: SETTER_FUNCTION(value) {isLoaded: truemanager: Classmeta: Objectquery: Objectstore: Classtype: client@model:validemail:__proto__: Class

这是很多数据,但我无法理解,我想要的只是服务器API的成功:成功或成功:方法。

这是我的Model类从'ember-data'导入DS的信息;

export default DS.Model.extend({
  success:DS.attr('boolean'),
  message: DS.attr('string')

});

和API方法

router.get('/validemails',function(req,res){
   console.log(req.query);
   var useremail=req.query.email;
   Hiveuser.find({'useremail':useremail},function(err,findResponse){
      if(!isEmptyObject(findResponse)){

          res.send({"validemail": {success: false,'message': 'User Already Exists'}});
      }
      else{
          res.send({"validemail": {success: true,'message':''}});
      }
   });


});

我意识到我做错了,因为Ember Inspector显示了该模型类的0条记录。

我没有得到的是记录服务器响应,这表明从服务器发送了正确的响应,但是不知何故它被弄乱了,变成了乱码,并进入了客户端。

注意:在这个简单的用例中,我什至不打算使用Ember Models,但是发送jQuery GET请求将需要我将服务器IP硬编码到控制器中,因此必须使用适配器“ route”(无双关语:))

如果有一种方法,我可以从控制器发送JSON请求,该请求将从适配器获取服务器ip,我非常想知道这一点。

谢谢

丹尼尔·克马克(Daniel Kmak)

首先,当您执行时store.find('modelName'),Ember REST API适配器需要一个模型数组作为响应。然后,store.find用对象数组解决问题的承诺,您必须先获得第一个对象才能查看是否success === true

this.store.find('validemail', {'email':'abc.gmail.com'}).then(function(validEmails){
  console.log(validEmails.get('firstObject.success')); // true || false
});

API方法:

router.get('/validemails',function(req,res){
   console.log(req.query);
   var useremail=req.query.email;
   Hiveuser.find({'useremail':useremail},function(err, findResponse){
      if(!isEmptyObject(findResponse)){
        res.send({"validemails": [{success: false, 'message': 'User Already Exists'}]});
      }
      else {
        res.send({"validemails": [{success: true, 'message':''}]});
      }
   });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有Ember的Ember数据?

来自分类Dev

Ember数据无法从API获取

来自分类Dev

Ember数据无法从API获取

来自分类Dev

ember cli使用的ember数据版本错误?

来自分类Dev

将Ember表与Ember数据合并

来自分类Dev

Ember:访问Ember组件中的数据存储

来自分类Dev

将Ember数据发布到Web API

来自分类Dev

Ember - specify controller for named outlet

来自分类Dev

使用Mixins访问Ember Controller

来自分类Dev

使用Mixins访问Ember Controller

来自分类Dev

如何用Ember.Controller替换Ember.ObjectController

来自分类Dev

不使用Ember数据的EmberJS

来自分类Dev

Ember数据异步关系的聚合

来自分类Dev

Ember 数据关系未解决

来自分类Dev

如何从 Ember 发送接收数据

来自分类Dev

在Ember / Ember数据中访问嵌套的hasMany关系

来自分类Dev

Ember.js-Ember数据未返回模型

来自分类Dev

在ember-cli中动态生成ember数据模型

来自分类Dev

在Ember / Ember数据中访问嵌套的hasMany关系

来自分类Dev

在ember-cli中动态生成ember数据模型

来自分类Dev

猴子修补Ember数据(使用ember-cli时)

来自分类Dev

Ember JS:如何在调用时重用 ember 数据?

来自分类Dev

使用Rails API + Ember进行初始数据加载

来自分类Dev

无法使用Ember API套件更改模型数据

来自分类Dev

使用Rails API + Ember进行初始数据加载

来自分类Dev

数据未显示-Ember JS-Rest Api

来自分类Dev

Ember Chartist使用来自REST-API的数据

来自分类Dev

在ember中访问Controller的根html标记

来自分类Dev

SetTimeout在Ember Controller中不起作用?