我有使用 LSAdapter 的示例“todo”ember 应用程序;现在我正在尝试使用 RESTAdapter 并从节点 js 获取 json 数据;
在 Ember 应用程序中,我完成了:
Todos.Store = DS.Store.extend({
revision: 13,
url: "http://127.0.0.1"
});
Todos.Todo = DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean')
});
这是主要的路线处理程序:
Todos.TodosIndexRoute = Ember.Route.extend({
model: function() {
return Todos.Todo.find();
}
});
在 ember 数据文档中,他们说这应该向 url/todos 发送一个 http 请求 GET,所以在这种情况下:
http://127.0.0.1/todos
所以我用节点 js 制作了一个服务器:
dispatcher.onGet("/todos", function(req, res) {
bind.toFile('tmpl/todos.tpl', {
id: "1",
title: 'Just a try',
is_completed: "false"
}, function(data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data);
});
});
它使用来自 npm 的 httpdispatcher 和绑定模块,并且可以工作,因为如果我在浏览器中键入:
//url in the browser
127.0.0.1/todos
我得到:
{ "todo": { "id": 1, "title": Just a try, "is_completed": false } }
但是,如果我在浏览器中执行应用程序(URL:file:///D:/Works/Web%20Resources/EMBER%20MVC%20FRAMEWORK/Prova_App/index.html),则未加载待办事项“试一试”;使用 chrome 检查,在控制台选项卡中,我可以读取一条错误消息“无法加载资源文件:///D:/todos”
有人可以帮助解决这个问题吗?