javascript - Backbone 中获取请求时未定义

标签 javascript rest backbone.js

我尝试使用 Backbone 执行“PUT”操作。它从服务器获取记录。但是 neighter whereget 方法确实检索到一个解决方案(下面代码的 console.log 的结果是 [] ),我可以编辑它(使用set)并可以保存

解决方案可能非常简单,但仍然没有意识到问题所在!

var Model = Backbone.Model.extend({
    idAttribute : "ID"
});
var TodosCollection = Backbone.Collection.extend({
        model : Model,
        url : myUrl
    });
var todos = new TodosCollection();
todos.fetch();

var todo = todos.where({
        ID : 2
    });
console.log(todo);
todo.set('Name', 'ChangedName');
todo.save();

最佳答案

您需要Parse the response并指定您的模型所在的位置。

如果有人偶然发现这一点,可以作为更好的引用。 这可能看起来像

{ 
  "location": "UK",
  "users": [
      {id: "etc", name: "etc"},
      {id: "etc", name: "etc"},
      {id: "etc", name: "etc"}
  ]
  "someothermeta": "score",
  "foo": "bar"
}

你的解析函数将是:

parse: function(response) {
    return response.users;
 }

关于javascript - Backbone 中获取请求时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31588198/

相关文章:

javascript - HTML5 Canvas toDataURL 在 for 循环中始终相同

javascript - 如何重新加载插入 javascript 的 ruby​​ - turbolinks

xml - 使用 WebHttpBinding 设置为基本身份验证的 WCF 进行 POX REST 调用时双重请求

python - 带有 POST 的 flask 示例

php - 没有让 wordpress nonce 与 wp-rest api 应用程序一起工作

javascript - 使用进度事件监听器覆盖 Backbone 同步

php - Backbone.js:保存的成功功能根本不起作用

javascript - jQuery 切换 div 的子元素

javascript - 使用 dropzone.js 验证错误后如何重新启用文件上传的提交按钮?

javascript - 修改javascript中的局部变量