这是交易:我正在尝试从php脚本获取数据,创建javascript对象并将它们分配给ember数据存储,然后调用ember find()函数来显示数据。
数据存储:
App.Images = DS.Model.extend({
name: DS.attr('string'),
imageThumb: DS.attr('string'),
imageFull: DS.attr('string'),
});
//Have to do this, otherwise it doesn't work
App.Images.FIXTURES = [];
主要功能是加载数据...... 首先,我甚至不确定这是否是正确的方法。然而,它确实有效,但是...我怀疑它是否应该是那样的。 在调用$ .each函数之前注意注释!
App.MainRoute = Ember.Route.extend({
model: function(){
$.ajax({
type: "POST",
url: "dataDao.php?f=getAll",
datatype: "json",
success: function(data){
//I WANT TO CALL THE 'CLEAR DATA STORE' HERE!
$.each(JSON.parse(data), function(index, value) {
App.Images.createRecord(
{
id: value['id'],
name: value['name'],
imageThumb: value['imageThumb'],
imageFull: value['imageFull'],
});
});
},
error: function(err){
alert('error!' + JSON.stringify(err));
}
});
return App.Images.find();
}
});
所以,首先,我甚至不确定这是否意味着使用ember。
其次,是不是ajax假设是异步的?为什么在调用返回App.Images.find()之前等待成功函数完成?在成功函数完成并且显示应为空之前,是否应该调用返回?
第三(最后):如何在创建新对象之前清除数据存储?我的结果是重复的,或者更确切地说,我不断向现有数据存储添加相同的内容。
感谢您的帮助!