シンプルな天気ウィジェットを作成しています。現在の気象条件は 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();
データは正しく読み取られますが、ストア関数を呼び出すコールバックの完了関数を取得できません。(「done」が解析されてから「this.set」が実行されれば幸いです。
よろしくお願いします。