【问题标题】:backbone model is only returning and object, or JSON {readyState : 1}主干模型仅返回和对象,或 JSON {readyState : 1}
【发布时间】:2013-02-22 06:59:06
【问题描述】:

我仍在学习主干课程并同时构建我的第一个应用程序,所以任何帮助让球再次滚动都会很棒。

首先,我要做的就是从骨干网获得适当的响应。我 100% 确定服务器正在向我发送纯 JSON,因为我可以通过 URL 在浏览器中检查它。与我代码中的 urlRoot 相同的 url,它只是保存在一个 var 中。

我之前有这种工作,但我通过一个集合得到了 JSON 响应(看起来不错),后来我发现它不是最好的,我宁愿通过模型获取数据.但我似乎无法使用模型从服务器获得相同的回报。

这是我的代码: 型号:

        var CalendarDay = Backbone.Model.extend({ 
  urlRoot: daysURL      
});

var calendarItem = new CalendarDay();

难道我不应该只是能够做到这一点console.log(calendarItem.fetch()) 并获得正确的 JSON 响应吗?

这是我的控制台显示的内容:

我想要的只是“responseText”药水……

这也意味着使用calendarItem.get(*****) 不起作用。

女士们/男士们有什么想法吗?

【问题讨论】:

    标签: jquery json backbone.js


    【解决方案1】:

    您在屏幕截图中看到的是 fetch 返回的 jqXHR 对象。此对象表示异步 ajax 调用而不是响应文本。

    responseText 是一个列表而不是单个对象。所以calendarItem 将包含列表而不是项目属性。在calendarItem.attributes 上尝试console.log(在等待fetch 完成之后。)

    如果您只想获取项目,您可以使用函数作为模型的 url 属性 - 然后您可以将 ID 传递给模型,.url() 返回该日历项目的资源位置。

    【讨论】:

    • 一个更好的问题是我如何开始使用这个我有 .fetch() 的对象和正常的主干 get() 和 set()。
    • 你做了哪些改变? calendarItem.attributes 是空的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    相关资源
    最近更新 更多