0

这是我在backbone.js 中的功能

var formdata = {
  name : this.$('#name').val(),
  email : this.$('#email').val()
};

this.collection.create(formdata, {
  wait : true,
  success : function(model, res) {
    var id = model.get('id');
  }
});

当我console.log(id)在成功函数中使用它时,它会显示出来。但我无法在成功功能之外访问。

有没有人解答。。

4

2 回答 2

0

您无法访问它,因为它尚未设置。代码在保存之前执行。这就是你使用回调的原因

于 2013-07-02T09:42:43.177 回答
0

success 是更接近的函数,并且您在函数本身(var id)中定义了 id,因此根据规则,变量范围仅限于成功函数。

尝试在 closeer 之外定义 id 并将其分配给 closeer。当成功执行时(异步)也将完成分配,即一旦从服务器获得响应。

于 2013-07-02T07:22:48.483 回答