我一直在努力理解这个概念,我花了很多时间来研究这个概念,但我没有得到任何进展。
我在廉价主机(one.com)上有一个MYSQL数据库。我已经在上述数据库中创建了一个表,现在我希望我的Ember应用程序能够从它中获取所有条目。
我怎样才能做到这一点?据我所知,成员数据试图从特定项URL中获取信息。但是如何用相应的URL映射我的数据库条目呢?
我不能直接在服务器上安装任何软件,因为我不拥有它。不过,也有对PHP的支持。使用PHP,我可以轻松地检索所有的数据库条目,并将它们编码为JSON,并按照成员数据所要求的格式进行编码,但我不知道下一步该做什么。
www.myurl.com/blog/js/app.js
App = Ember.Application.create();
// data storage -----------------------------------------------------
App.Store = DS.Store.extend({
revision: 12,
adapter: DS.RESTAdapter.create({
url: 'http://www.myurl.com/blog'
})
});
// routers, routes --------------------------------------------------
App.Router.map(function() {
this.resource('contact');
this.resource('items', { path: "/items/" });
this.resource('item', { path: "/items/:item_id"});
this.resource('hearts');
this.resource('tags');
});
App.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('items');
}
});
App.ItemsRoute = Ember.Route.extend({
model: function() {
return App.Item.find();
}
});
App.ItemRoute = Ember.Route.extend({
model: function(params) {
return App.Item.find(params.item_id);
}
});
// controllers --------------------------------------------------------
App.ItemsController = Ember.ArrayController.extend({
// ...
});
App.ItemController = Ember.ObjectController.extend({
// ...
});
// model -----------------------------------------------------------
App.Item = DS.Model.extend({
tag: DS.attr('string'),
title: DS.attr('string'),
posted: DS.attr('date'),
updated: DS.attr('date'),
intro: DS.attr('string'),
full: DS.attr('string'),
visible: DS.attr('number')
});www.myurl.com/blog/items/index.php
$host = "myhost";
$usr = "myuser";
$pwd = "mypwd";
$db= "mydb";
$connect = mysql_connect("$host", "$usr", "$pwd", "$db") or die("errormsg");
mysql_select_db("$db", $connect) or die("errormsg");
$sql = "SELECT * FROM mytable";
$result = mysql_query($sql);
$rows = array();
if(mysql_num_rows($result)){
while($row=mysql_fetch_assoc($result)) {
$rows['post'][]=$row;
}
}
print(json_encode($rows));
mysql_close($db);发布于 2013-08-08 23:19:17
看来你的方式大部分都在那里,下一步就是试一试并做一些调试。
第一步:确保您的API是返回JSON的方式,成员期待。从javascript控制台尝试这样的操作:
$.getJSON("/items").then( function(response) {
console.log("response: ", response);
});应对措施应该是项目清单。是吗?
第二步:查看成员数据是否能够使用api获取项目。因此,在控制台上,试着:
App.Item.find({}).then( function(items) {
console.log("item count: ", items.get('length'));
console.log("items: ", items.getEach('id'));
});https://stackoverflow.com/questions/18137185
复制相似问题