Backbone.js BackboneJS.get()和.at()在.fetch()之后未定义
本地主机:3000Backbone.js BackboneJS.get()和.at()在.fetch()之后未定义,backbone.js,collections,get,undefined,Backbone.js,Collections,Get,Undefined,本地主机:3000 [{"idrooms":1,"roomname":"red","occupants":0}, {"idrooms":2,"roomname":"green","occupants":0},{"idrooms":3,"roomname":"blue","occupants":0}, {"idrooms":4,"roomname":"yellow","occupants":0}, {"idrooms":5,"roomname":"purple","occupant
[{"idrooms":1,"roomname":"red","occupants":0}, {"idrooms":2,"roomname":"green","occupants":0},{"idrooms":3,"roomname":"blue","occupants":0}, {"idrooms":4,"roomname":"yellow","occupants":0}, {"idrooms":5,"roomname":"purple","occupants":0},{"idrooms":6,"roomname":"cyan","occupants":0}]
<script src="jslib/jquery.js"></script>
<script src="jslib/underscore.js"></script>
<script src="jslib/backbone.js"></script>
<script>
// Your code goes here
var Room = Backbone.Model.extend({
defaults: {
idrooms: 0,
roomname: "default",
occupants: 0
}
});
var RoomList = Backbone.Collection.extend({
model: Room,
url: 'http://localhost:3000'
});
var roomlist = new RoomList();
roomlist.fetch();
console.log(roomlist);
console.log(roomlist.at(1));
console.log(roomlist.get(1));
</script>
</body>
</html>
在客户端,我从迄今为止所知道的基本知识开始:
标题
<script src="jslib/jquery.js"></script>
<script src="jslib/underscore.js"></script>
<script src="jslib/backbone.js"></script>
<script>
// Your code goes here
var Room = Backbone.Model.extend({
defaults: {
idrooms: 0,
roomname: "default",
occupants: 0
}
});
var RoomList = Backbone.Collection.extend({
model: Room,
url: 'http://localhost:3000'
});
var roomlist = new RoomList();
roomlist.fetch();
console.log(roomlist);
console.log(roomlist.at(1));
console.log(roomlist.get(1));
</script>
</body>
</html>
jsonlint说它是有效的json
<script src="jslib/jquery.js"></script>
<script src="jslib/underscore.js"></script>
<script src="jslib/backbone.js"></script>
<script>
// Your code goes here
var Room = Backbone.Model.extend({
defaults: {
idrooms: 0,
roomname: "default",
occupants: 0
}
});
var RoomList = Backbone.Collection.extend({
model: Room,
url: 'http://localhost:3000'
});
var roomlist = new RoomList();
roomlist.fetch();
console.log(roomlist);
console.log(roomlist.at(1));
console.log(roomlist.get(1));
</script>
</body>
</html>
感谢您发布…此方法是异步的,
fetch
方法是异步的,因此在您使用输出变量时不会对其进行赋值
<script src="jslib/jquery.js"></script>
<script src="jslib/underscore.js"></script>
<script src="jslib/backbone.js"></script>
<script>
// Your code goes here
var Room = Backbone.Model.extend({
defaults: {
idrooms: 0,
roomname: "default",
occupants: 0
}
});
var RoomList = Backbone.Collection.extend({
model: Room,
url: 'http://localhost:3000'
});
var roomlist = new RoomList();
roomlist.fetch();
console.log(roomlist);
console.log(roomlist.at(1));
console.log(roomlist.get(1));
</script>
</body>
</html>
试试这个
<script src="jslib/jquery.js"></script>
<script src="jslib/underscore.js"></script>
<script src="jslib/backbone.js"></script>
<script>
// Your code goes here
var Room = Backbone.Model.extend({
defaults: {
idrooms: 0,
roomname: "default",
occupants: 0
}
});
var RoomList = Backbone.Collection.extend({
model: Room,
url: 'http://localhost:3000'
});
var roomlist = new RoomList();
roomlist.fetch();
console.log(roomlist);
console.log(roomlist.at(1));
console.log(roomlist.get(1));
</script>
</body>
</html>
roomlist.fetch({
success : function(collection, respone) {
console.log(collection);
console.log("collection.at(1)", collection.at(1));
console.log("collection.get(c0)", collection.get("c0"));
}
});