[英]Communicating with server with Backbone.js
我是新手Web開發人員,初次涉足Backbone。 我一直在努力解決的一個主要問題(實際上,過去兩天中花費了大量時間進行研究,但無濟於事)是Backbone與服務器之間通信的准確程度。
在以前的項目中,我已經能夠使用PHP和jQuery的$.getJSON
方法從數據庫中獲取數據。 使用Backbone(例如myCollection.url = "todos.php"
)時,我也可以做到這一點。 但是,在我看過的每個教程,文檔,示例代碼中,集合的url始終設置為目錄,而urlRoot則是directory / id(例如, myCollection.url = "/todos"
和myModel.urlRoot = "/todos/5"
。
我的問題是如何精確管理? 通過將GET參數添加到調用中,這似乎比傳統方式干凈得多。 起初我以為這是路由,但這似乎只與設置瀏覽器的歷史和內容有關。 我看過的某些源代碼使用SLIM PHP和Rails(我都沒有使用過),但是我不知道任何部分如何組合在一起。
Backbone有自己的與服務器通信的api,例如訪存,保存,銷毀。實際上,這些方法與jQuery的$ .ajax的作用相同。 例如,您以這種方式使用骨干網的獲取:
var UserModel = Backbone.Model.extend({
url : "rootURL/user",
});
var user = new UserModel;
user.fetch(
data:{
userId : 1, //the webservice will be: rootURL/user?userId=1 GET;
}
success:function(model, response, options){
//callback
},
error:function(model, response, options){
//callback
},
);
但是您也可以使用與jQuery中相同的方式與主干應用程序中的服務器進行通信,例如:
var UserView = Backbone.View.extend({
render: function(){
//do something
}
getUser: function(userId){
$.get("rootURL/user",
{ userId : userId},
success:function(data){
//callback
}
);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.