我正在构建一个简单的天气小部件。当前的天气状况是从 National Weather Service xml 文件中读取的,然后我想在模型中解析和存储相关数据,但 $.ajax 的回调不会连接(我正在这样做)。
var Weather = Backbone.Model.extend({
initialize: function(){
_.bindAll( this, 'update', 'startLoop', 'stopLoop' );
this.startLoop();
},
startLoop: function(){
this.update();
this.interval = window.setInterval( _.bind( this.update, this ), 1000 * 60 * 60 );
},
stopLoop: function(){
this.interval = window.clearInterval( this.interval );
},
store: function( data ){
this.set({
icon : $( data ).find( 'icon_url_name' ).text()
});
},
update: function(){
$.ajax({
type: 'GET',
url: 'xml/KROC.xml',
datatype: 'xml'
})
.done( function( data ) {
var that = this;
that.store( $( data ).find( 'current_observation' )[ 0 ] );
});
}
});
var weather = new Weather();
数据被正确读取,但我无法获得回调的完成函数来调用存储函数。(如果“完成”只是解析然后执行“this.set”,我会很高兴。
在此先感谢您的帮助。