簡體   English   中英

Backbone JS和CodeIgniter REST服務器

[英]Backbone JS and CodeIgniter REST Server

我有一個標准的CI網絡應用程序,但我決定使用骨干網來獲得混亂的javascript。 我有各種各樣的控制器方法的序列化表單/ jQuery AJAX請求:authenticate,change_password,register_member,request_new_password等等,並且不太明白REST是如何工作的。 我正在使用Phil Sturgeon的REST庫進行CI https://github.com/philsturgeon/codeigniter-restserver

每個骨干模型都應該有不同的api url嗎? 我應該實際調用控制器方法的是什么?

<?php  
    require(APPPATH.'/libraries/REST_Controller.php');  
    class RestApi extends REST_Controller  
    {  
        function get()  
        {  

但它只是404s。

我只是不知道如何基於少數HTTP方法將路由替換為我的五十個舊方法。 骨干模型的名稱是否需要與服務器端的內容匹配?

您必須將函數命名為index_HTTPMETHOD。 在您的示例中,它將是:

class RestApi extends REST_Controller {
    // this will handle GET http://.../RestApi
    function index_get() {
    }

    // additionally this will handle POST http://.../RestApi
    function index_post() {
    }
    // and so forth

    // if you want to POST to http://.../RestApi/somefunc
    function somefunc_post() {
    }

}

模型的url -attribute應與服務器端'url'匹配,后者返回構成模型屬性的JSON。 Backbone.js具有默認功能,即將模型的集合URL與其id屬性相匹配。 可以通過覆蓋urlRoot來放棄收集URL要求,以便在集合之外操作模型。

如果你想獨立於id -attribute,你應該覆蓋url -attribute / function來提供你自己的與服務器上的模型匹配的url,如下所示:

url: 'path/to/my/model'

要么

url: function() { // Define the url as a function of some model properties
  var path = this.model_root + '/' + 'some_other_url_fragment/' + this.chosen_model_identifier;
  return path; 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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