Laravel Ajax调用控制器中的函数

Yun*_*lam 2 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 );
});
Run Code Online (Sandbox Code Playgroud)

我的控制器位于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";
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*idT 12

在你的routes.php文件中添加

Route::post('/orderdata', 'DashBoardController@OrderData');
Run Code Online (Sandbox Code Playgroud)

然后使用你的ajax调用将数据发送/orderdata到你的OrderData方法中的数据DashBoardController

所以你的ajax电话会变成

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

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

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";
    }
}
Run Code Online (Sandbox Code Playgroud)

并更新您的路线

Route::post('/orderdata/{postdata}', 'DashBoardController@OrderData')
Run Code Online (Sandbox Code Playgroud)