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); 
这样,文件包含顺序无关紧要。