javascript - .fetch() 集合backbone.js 不起作用

标签 javascript backbone.js backbone.js-collections backbone-local-storage

我想调用API URL来获取数据,并将其传递给 View ,但在使用fetch属性时遇到错误:

Uncaught TypeError: Cannot read property 'localStorage' of undefined  
    at G.d.Backbone.sync (backbone.localStorage-min.js:8)  
    at G.d.fetch (backbone-min.js:23)  
    at G.d.initialize (backbone:120)  
    at G.d.g.Collection (backbone-min.js:18)  
    at new G.d (backbone-min.js:38)  
    at backbone:137

代码:

var app = {};
app.postCollection = Backbone.Collection.extend({

  url: 'https://jsonplaceholder.typicode.com/comments',
  initialize: function(){
    this.fetch({
      success: this.fetchSuccess,
      error: this.fetchError
    });
  },

  fetchSuccess: function (collection, response) {
    console.log('Collection fetch success', response.data);
    /*console.log('Collection models: ', this.models);*/
  },

  fetchError: function (collection, response) {
    throw new Error(" fetch error");
  }

});

try {
  app.postcollection = new app.postCollection();
}
catch (e) {
  console.log(e.message);
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
    		  <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
    		  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
    		  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>

最佳答案

您正在使用旧版本的 localStorage。更新到新版本,例如 https://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.16/backbone.localStorage.js

此外,您还需要在集合上指定 localStorage 属性,例如 localStorage: new Backbone.LocalStorage("SomeCollection"),

Working JSFiddle

关于javascript - .fetch() 集合backbone.js 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716938/

相关文章:

javascript - 从远程 url 获取 Backbone 集合错误

javascript - 在 javascript 或 jquery 中从起点和终点创建 ip 范围

javascript - Angular JS 应用程序 POST.Success 不是 Wcf REST 服务的功能

javascript - 在 Backbone 中渲染集合的最佳方法

javascript - BackboneJS + Codeigniter - RESTful API - 如何创建一个大 API?

javascript - jQuery 延迟 promise 执行不按顺序执行?

java - 从 Rest 获取数据到主干集合中

javascript - 为什么 JavaScript 不适用于 Firefox/Chrome 而适用于 IE?

javascript - 如何将Python创建的JSON数据发送到JavaScript?

javascript - 如何检查数组中剩余的项目?