Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干JS-模型返回两个结果,而不是一个_Javascript_Backbone.js_Model - Fatal编程技术网

Javascript 主干JS-模型返回两个结果,而不是一个

Javascript 主干JS-模型返回两个结果,而不是一个,javascript,backbone.js,model,Javascript,Backbone.js,Model,我一直在摆弄主干网,我试图通过使用某个ID获取单个结果 型号: var Recipe = Backbone.Model.extend({ urlRoot: 'recipes', initialize: function() { this.fetch(); console.log("A new recipe has been loaded."); }, }); var recipe = new Recipe({id: id}); recipe.toJSON()

我一直在摆弄主干网,我试图通过使用某个ID获取单个结果

型号:

var Recipe = Backbone.Model.extend({
    urlRoot: 'recipes',
  initialize: function() {
    this.fetch();
    console.log("A new recipe has been loaded.");
  },
});

var recipe = new Recipe({id: id});

recipe.toJSON() // Returns:
Object {0: Object, id: "1"}
返回:

var Recipe = Backbone.Model.extend({
    urlRoot: 'recipes',
  initialize: function() {
    this.fetch();
    console.log("A new recipe has been loaded.");
  },
});

var recipe = new Recipe({id: id});

recipe.toJSON() // Returns:
Object {0: Object, id: "1"}
这将返回包含所有我的数据的对象和一个id字段,其中包含im在
new Recipe({id:id})
中设置的id

它为什么这样做?我认为使用特定ID获取的模型将检索单个结果。还是我做错了

致以最良好的祝愿,
Jake在分配给模型之前解析数据

var Recipe = Backbone.Model.extend({
    urlRoot: 'recipes',

   parse : function(response){
   return response[0];
   },
  initialize: function() {
    this.fetch();
    console.log("A new recipe has been loaded.");
  },
});

您的服务器正在返回一个数组,而对于给定的模型,它应该返回一个JSON对象。换句话说,问题出在服务器上:主干网没有正确处理返回的值,因为它需要一个JSON对象,而不是服务器返回的数组。主干网通常使用集合来处理JSON对象数组。

从服务器返回的值是什么?从服务器返回的结果:-我相信这就是你的意思。服务器的响应应该是这样的thishttp://pastebin.com/xcXfCnkGOh 可以为什么要添加额外的一组括号?可能是您正在后端创建多维数组,它与主干无关,如果您想在前端更正,您可以使用ParseThank alot,它现在非常有用!只是想指出你拼写的是parase而不是parse。