【问题标题】:knockout webmail tutorial error received收到淘汰赛网络邮件教程错误
【发布时间】:2012-10-27 03:37:54
【问题描述】:

我正在阅读本教程http://learn.knockoutjs.com/#/?tutorial=webmail

我已经完成了,现在正尝试在我的本地机器上运行

我已经从这里http://learn.knockoutjs.com/WebmailExampleStandalone.html 获取了代码,但是当我把它放在我的本地机器上时,我得到了这个错误。

时间戳:2012 年 7 月 11 日下午 4:24:41 错误:无法解析绑定。
消息:ReferenceError:未定义邮件;绑定值:
foreach:邮件源文件:url/knockout/js/knockout-2.2.0.js 行:57

我下载 JSON 文件的方式是转到 learn.knockoutjs.com/knockout/mail?folder=Inboxlearn.knockoutjs.com/knockout/mail?folder=Achive,具体取决于您所在的文件夹。

我刚刚去了learn.knockoutjs.com/mail?folder=Archive 并下载了那个,但它保存了一个名为 mail 的文件,没有扩展名。

我可以理解为什么其他部分(收件箱除外,因为我没有那些 JSON 文件而无法使用)但为什么邮件在第一个屏幕中不起作用?

【问题讨论】:

  • 在 jsfiddle 中重现错误,以便我们可以看到发生了什么。该错误意味着视图无法在您的视图模型上找到特定成员
  • 这是一个你可以玩的小提琴:jsfiddle.net/rniemeyer/PKDdG。实际数据在 AJAX 调用中被伪造,并列在 JavaScript 底部的对象中。
  • 我同意 - 你能发布一个 jsfiddle 吗?您的 js 中可能存在一个非常小的错误。也许还可以在浏览器上打开 devtools 并确保 JSON 文件正确通过。
  • 好的,所以我所做的是将此处底部的 JSON jsfiddle.net/rniemeyer/PKDdG 移动到一个名为 fakeData.json 的单独文件中,然后将 url 更改为“fakeData.json”,但这仍然不起作用当我查看网络选项卡时,我收到此错误tests.dev.com/knockout/fakeData.json/?json={%22folder%22%3A%22Archive%22} 406 不可接受我猜我错过了一些东西

标签: json knockout.js knockout-2.0


【解决方案1】:

我有同样的问题。问题是 ajax 调用需要有一个“application/json”类型的响应头才能正确设置返回的数据。我正在使用 php,所以我在回显 json 数据之前添加了header('Content-Type: application/json; charset=utf-8');,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-08
    • 2013-06-19
    • 2015-07-17
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多