2013-05-02 40 views
-1

試圖發佈初學者問題,但沒有通過「質量標準」過濾器。 我通過錯誤消息的線程讀取。初學者的問題太基本了嗎?可以理解,但最好把它放在錯誤信息中。我包括我的代碼,並且我的英語在代碼塊之外是正確的。這個問題沒有得到解決,或者至少不是從各種搜索模式中返回。有沒有辦法吸引過濾器,因爲多次重寫還沒有解決障礙,或解決了我的,無可否認的初學者問題?在最後一次嘗試破解過濾器的過程中,我用一些英文編輯來粘貼我的原始問題。編輯 - 這似乎工作,但離開上面的段落,以免不了它。編輯 - backbone.js初學者試圖加載數據

嘗試將數據加載到主幹,但渲染功能未觸發。 Firebug顯示GET正在到達正確的數據字符串。 我曾試圖將「this」賦值給一個變量並且作爲一個函數觸發,但仍然沒有運氣。

(function($) { 
var DObj = Backbone.Model.extend({ 
    defaults: { 
     dstring: 'dstring again' 
    }, 
}); 

var MObs = Backbone.Collection.extend({ 
    defaults: { 
     model: DObj 
    }, 
    model: DObj, 
    url: 'scr/bbone.php' 
}); 

var MView = Backbone.View.extend({ 
    initialize: function() { 
     this.collection = new MObs(); 
     //this.collection.bind("reset", this.render, this); 
     this.collection.on("sync", this.render, this); 
     //this.collection.bind("change", this.render, this); 
     this.collection.fetch(); 
    }, 
    render: function() { 
     alert("here : "); 
    } 
}); 
var newMob = new MView(); 

})(jQuery); 

回答

1

我已經改寫mockjax代碼從服務器模擬響應,那就是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.5.1/jquery.mockjax.min.js"></script> 

<script> 

var DObj = Backbone.Model.extend({ 
}); 

var MObs = Backbone.Collection.extend({ 

    model: DObj, 
    url: '/movies' 
}); 

$.mockjax({ 
    type: 'GET', 
    url: '/movies', 
    contentType: 'text/json', 
    status: 200, 
    response: function() { 
     this.responseText = JSON.stringify(new MObs([{ name: 'Lincoln' }, { name: 'Argo' }])); 
    } 
}); 

var MView = Backbone.View.extend({ 
    initialize: function() { 
     this.collection.on("sync", this.render, this); 
    }, 
    render: function() { 
     alert("here : "); 
    } 
}); 

(function($) { 
    var newCol = new MObs(); 
     newMob = new MView({ collection: newCol }); 

    newCol.fetch({ 
     success: function() { console.log('Success'); }, 
     error: function() { console.log('Error'); } 
    }); 

})(jQuery); 

我認爲有與代碼中的許多問題,你是專門詢問的問題有使用服務器響應;你應該看到上面的代碼提示。我建議你閱讀其他人的backbone.js文檔。

+0

嘿謝謝指出mockjax!很酷。 – openquestions 2013-05-04 20:11:23