这段代码** http://jsfiddle.net/wagenet/ACzaJ/8/ **几天前还在工作,当我今天回到它时,它抛出{"error": "Please use POST request"},当我单击添加按钮 此外,jsfiddle editor.js 总是在这一行抛出异常: function stop(){cc = stop; 抛出 StopIteration;}; 有谁知道这个问题的原因。
非常感谢
更新
请向下滚动查看我发布的许多更新作为补充彼得最初答案的答案。
这段代码** http://jsfiddle.net/wagenet/ACzaJ/8/ **几天前还在工作,当我今天回到它时,它抛出{"error": "Please use POST request"},当我单击添加按钮 此外,jsfiddle editor.js 总是在这一行抛出异常: function stop(){cc = stop; 抛出 StopIteration;}; 有谁知道这个问题的原因。
非常感谢
更新
请向下滚动查看我发布的许多更新作为补充彼得最初答案的答案。
这里有很多问题。
App.initialize()
事件侦听器才能工作{{action}}
助手。表单视图已经有一个方法,当表单上发生事件时submit
会自动调用该方法。submit
valueBinding
。它似乎是一个 Ember 错误,因为如果您删除id="new-todo"
.更新 1
根据下面@Peter Wagenet 的建议,表单现在将条目或输入记录到控制台,但它不会显示在 jsfiddle 的结果部分,而是显示在 jsfiddle 结果部分或页面上仍然是这个错误 {"error": "请使用 POST 请求"}
** http://jsfiddle.net/ACzaJ/18/
更新 2
在这个小提琴http://jsfiddle.net/ACzaJ/19/中,我通过添加 event.preventDefault(); 成功消除了这个错误 {"error": "Please use POST request"}; Todos.TodoFormView 中的提交操作。这允许我们使用任意视图方法作为操作处理程序。
现有问题是表单的输入仅显示在控制台上,而不显示在 jsfiddle 结果部分,虽然结果部分没有显示错误,但更新后的 fiddle 的控制台中出现了一个新错误:
未捕获的错误:无法对不在 DOM 中的 Metamorph 执行操作。
终于解决了
我需要注释掉 App.initialize() 才能按预期工作,另见彼得回答的第 2 点。这是工作小提琴** http://jsfiddle.net/ACzaJ/20/。
类似于上面的工作小提琴,但为文本字段指定了 id="new-todo",因此这意味着 ember 没有影响 'id' 的错误,请参见 Peter 的第 4 点。http://jsfiddle.net/ACzaJ/21/
我不知道为什么使用 App.initialize() 会使应用程序无法工作,但我的猜测是,App.initialize 可以与其他部分一起使用,例如用于路由的路由器、ApplicationController 和 ApplicationView 中的 {{outlet}}车把,我不需要这个小提琴。
终于终于彻底解决了
** http://jsfiddle.net/tQWn8/, ** http://jsfiddle.net/tQWn8/1/(第二个链接使用指定的id)。我能够让它与 App.initialize 一起工作。但是我必须声明上面列出的所有组件并将路由器传递给 App.initialize,就像这个 App.initialize(router)。如果你不这样做,那么你会得到旧的错误
未捕获的错误:无法对不在 DOM 中的 Metamorph 执行操作。
有关更多信息,请参阅 emberjs 初始化函数的文档:
http://docs.emberjs.com/?#doc=Ember.Application&method=initialize&src=false
非常感谢 Peter Wagenet 的指导