0

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

4

2 回答 2

0

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

App.ExampleRoute = Em.Route.extend({
  model: function (params) {
    return Ember.$.ajax({
      type: "GET",
      url: 'localhost:8080/rest/setting',
      dataType: 'json'
  });
}
于 2013-11-13T20:25:33.873 回答
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

于 2013-11-13T22:08:52.777 回答