2013-09-22 132 views
2

我正在使用backbone和CodeIgniter Rest服務器, 來自主幹網的帖子和獲取請求正常工作 但put和delete請求者獲得了404錯誤, 「狀態」:假的,「錯誤」:「未知的方法。」}帶Backbone,DELETE和PUT請求的CodeIgniter Rest服務器返回404

編輯:我改變了源代碼,看看哪種方法笨試圖運行 我控制器網址是

http://local/host/impacto/index.php/interviews/

PUT請求的URL是

http://localhost/impacto/index.php/interviews/13

和CodeIgniter的運行功能13_put代替input_put

我控制器

class Interview extends REST_Controller { 

function __construct(){ 

    parent:: __construct(); 
} 

public function index_get(){ 

    echo "get"; 
} 

public function index_post(){ 

    echo "post"; 
} 

public function index_put($id){ 

    echo "update: " . $id; 
} 

public function index_delete($id){ 

    echo "delete: " . $id; 
} 
} 
+0

可能重複[在PHP中處理PUT/DELETE參數](http://stackoverflow.com/questions/2081894/handling-put-delete-arguments-in-php) –

+0

不一樣的圖書館,我使用https://github.com/philsturgeon/codeigniter-restserver – Idob

+0

我碰到了完全相同的問題;發送PUT到「Interview/{id}」調用方法「13_put ()「而不是」index_put(13)「...... –

回答

3

我有同樣的問題。因此,這不是一個錯誤 - https://github.com/philsturgeon/codeigniter-restserver/issues/255 - 您必須明確指定「index」作爲函數(「Interview/index/{id}」),或者給方法一個名稱(「rest_put($ id)」,所以訪問/休息/ {id}「)

+0

這是非常重要的,因爲控制器必須知道調用哪個方法 - 它在接收期望方法名稱的參數。使用['_remap'](http://ellislab.com/codeigniter/user-g uide/general/controllers.html#remapping)並根據自定義邏輯路由到您期望的方法。 – swatkins

相關問題