如何从服务器获取单个模型

时间:2013-11-13 19:08:17

标签: ember.js

如何使用Ember Data从服务器获取单个模型? 例如,我有我的服务器api localhost:8080/rest/setting的url,并且response是JSON对象         { "siteName": "lala", "siteUrl": "blabla" } 在结果中,我想使用此模型在我的模板中进行渲染。

2 个答案:

答案 0 :(得分:0)

我将假设您打算说“......我可以在不使用Ember数据的情况下从服务器获取单个模型”,在这种情况下您当然可以!只需使用jQuery来获取数据。例如:

App.ExampleRoute = Em.Route.extend({
  model: function (params) {
    return Ember.$.ajax({
      type: "GET",
      url: 'localhost:8080/rest/setting',
      dataType: 'json'
  });
}

答案 1 :(得分:0)

App.Setting = DS.Model.extend({
  sitename: DS.attr()
});

App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: 'http://localhost:8080',  // this isn't necessary, since it'll use the current server's host
  namespace: 'rest' // this is appended to your current web server host http://server/rest
});

App.Router.map(function() {
  this.resource('foo', {path:'/:foo_id'});
});

App.FooRoute = Em.Route.extend({
  model: function(params){
     // if param.foo_id is 1 then
     // this would be http://localhost:8080/rest/setting/1
     return this.get('store').find('setting', params.foo_id);  
  }
});

你的JSON应该采用这种格式:

{ setting: { "siteName": "lala", "siteUrl": "blabla" } }

如果您希望它采用不同的格式,您需要使用序列化程序并按照Ember期望的格式按摩数据:https://github.com/emberjs/data/blob/master/TRANSITION.md