我首次使用laravel
來創建一個API,使用AJAX從angular.js單頁面應用程序訪問。我無法弄清楚如何配置控制器和URL不止一個參數傳遞給任何的資源控制器,使用AJAX傳遞多個參數
已配置我的API組路由方法如下
Route::group(array('prefix' => 'api/v1'), function(){
Route::resource('event', 'EventController');
});
EventController
方法都是工作作爲記錄但是,我需要發送開始日期和結束日期作爲參數來檢索我的事件。
我也放置在missingMethod($parameters = array())
控制器,但從來沒有任何運氣得到它開火
我嘗試添加一個額外的參數顯示方法,function show($start, $end)
但不能得到AJAX URL想通了,使其工作。 已經嘗試了各種辦法:
/myapp/api/v1/event/param1/param2
/myapp/api/v1/event/param1,param2
/* hoping missingMethod($parameters = array()) might get this one*/
/myapp/api/v1/event/[param1,param2]
在大多數情況下,幾乎所有的嘗試得到了拋出這show
缺少第二個參數異常。
我終於在使用傳統查詢字符串和在我的index()
函數中測試Input::get()
了。
/myapp/api/v1/event?param1=1¶m2=2
我也試了幾種方法來註冊資源無濟於事前加入Route::get('/event')
使用通配符。
我想有一個相對簡單的方法來讓資源控制器方法有多個參數,如果不是如何配置HTTP請求,以便missingMethod
接收數組?
我確定可以發誓我試過這種方法,但它的工作....謝謝!我可以創建一個不是'show,index,update'等的自定義方法,然後在'Route'的'@ myMethod'中使用它嗎? – charlietfl
是的,你可以用'Route :: get()'綁定所有你想要的方法。另外看看一個'Route :: controller()',可能也很有用:http://laravel.com/docs/controllers#restful-controllers –
好的..謝謝。今天已經遍佈那些文檔。從字面上看,昨天剛剛從拉拉維爾開始,但已經有了你給我工作的東西。下一步將找出存儲庫,但現在我的前端有足夠的工作來處理數據流動的需要 – charlietfl