簡體   English   中英

與Backbone.js與服務器通信

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM