微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Backbone.js fetchajax错误

如何解决Backbone.js fetchajax错误

| 我正在为一个项目构建一个基本的CRUD系统,并且我们决定将Backbone.js和CoffeeScript捆绑在一起以抽象出更多的JavaScript功能。由于我不是JS专业人士,因此学习曲线对我来说非常陡峭。 目前,我只是想创造一个记录。任何记录。因此,在我继续之前,我已经建立了一条虚拟路线来通过JSON提供\'products \'记录集,以查看其呈现方式。
  window.Product = Backbone.Model.extend
    initialize: -> console.log this
  window.Products = Backbone.Collection.extend
    model: Product
    initialize: -> console.log this
    url: \'/dummy\'
因此,在控制台中,我输入:
product = new Product()
它似乎使产品很好。但是当我键入:
product.fetch()
它返回:
TypeError: Cannot call method \'ajax\' of undefined
我尝试过与Collection相同的事情。
products = new Products()
products.fetch()
TypeError: Cannot call method \'ajax\' of undefined
我已经使其他部分(视图渲染等)正常工作,但是这个Ajax错误反复出现在我身上。我花了数小时来浏览不同的文档(包括官方文档,以及我可以从Wiki跟踪的所有信息),尝试使用纯JavaScript和CoffeeScript编写代码,实现不同的作用域(有/无窗口命名空间)等。Google上没有任何内容。 这可能是一件简直荒谬的事情,我可能只应该知道,但是我无法终生解决。或者这是我错过的文档中的一个。谁能告诉我我做错了什么?     

解决方法

        @Ironchamber:为了使用Backbone的Ajax方法,您还必须提供一个提供跨浏览器Ajax支持的库。对骨干进行了优化以使用jQuery或Zepto。从您的错误消息中看来,您缺少其中之一。     ,        另一个解决方案是在文档准备就绪时调用此方法:
Backbone.setDomLibrary(jQuery); 
这样,文件包含顺序无关紧要。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。