我几乎已经完成了Ember TodoMVC示例,但我仍然不能使用local storage adapter。在我尝试使用本地存储适配器之前,我一直在运行该演示。这就是我application.js
试图使用本地存储的原因:
window.Todos = Ember.Application.create();
Todos.ApplicationAdapter = DS.LSAdapter.extend({
namespace: 'todos-emberjs'
});
当我用LSAdapter转出夹具适配器时,我收到了这个错误:
OPTIONS file:///todos net::ERR_FILE_NOT_FOUND
所以,我在我的根目录中创建了文件todos
(当然是根),现在我收到了这个错误:
OPTIONS file:///todos No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. jquery-1.10.2.js:8706
XMLHttpRequest cannot load file:///todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. index.html:1
Error while loading route: undefined ember-1.5.0.js:3521
那么,我怎样才能让适配器使用用户拥有的文件?
谢谢!
答案 0 :(得分:0)
我遇到了同样的问题,我认为这是一个交叉浏览问题。与通过服务器直接在资源管理器中打开 index.html 文件相关的东西,因为我认为文件加载器正在使用带有AJAX的服务器调用。
OPTIONS file:///todos net::ERR_FILE_NOT_FOUND
...
DS.RESTAdapter.DS.Adapter.extend.ajax
...
尝试使用服务器启动您的网站。这对我有用。
如果您需要快速服务器并且已经安装了PHP,则可以尝试打开终端并导航到 index.html 所在的文件夹(cd ..../todomvc
左右)并且执行以下命令:
$ php -S localhost:5000
这将在 http:// localhost:5000 中启动一个简单的服务器,如果您导航到浏览器中的URL,则所有内容都可以作为魅力。
答案 1 :(得分:0)
这个问题是在几个月前,但也许我的解决方案可以帮助某人。
如果向RESTApplication Adapter添加正确的命名空间,可以设置正确目录的路径:
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'Ember/webshop'
});