Laravel Ajax调用控制器中的函数

时间:2014-09-24 11:01:52

标签: php laravel laravel-4

我是laravel的新手,我想对控制器中编写的函数进行ajax调用。我做了以下但没有工作。

在视图中:

$.ajax({
    type: "POST",
    url: 'OrderData', // Not sure what to add as URL here
    data: { id: 7 }
}).done(function( msg ) {
    alert( msg );
});

我的控制器位于app / controllers / DashBoardController.php中 在DashBoardController.php里面我有

class DashBoardController extends BaseController {
    public function DashView(){
        return View::make('dashboard');
    }

    public function OrderData(){ // This is the function which I want to call from ajax
        return "I am in";
    }
}

我的问题是如何从页面加载视图到我的DashBoardController.php中的函数进行ajax调用?感谢。

1 个答案:

答案 0 :(得分:12)

routes.php文件中添加

Route::post('/orderdata', 'DashBoardController@OrderData');

然后使用您的ajax调用将数据发送到/orderdata,数据将传递到OrderData

中的DashBoardController方法

所以你的ajax调用将成为

$.ajax({
    type: "POST",
    url: '/orderdata', // This is what I have updated
    data: { id: 7 }
}).done(function( msg ) {
    alert( msg );
});

如果您想访问数据,则需要将其添加到您的方法中,如此

class DashBoardController extends BaseController {
    public function DashView(){
        return View::make('dashboard');
    }

    public function OrderData($postData){ // This is the function which I want to call from ajax
        //do something awesome with that post data 
        return "I am in";
    }
}

并更新您的路线

Route::post('/orderdata/{postdata}', 'DashBoardController@OrderData')