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