Laravel Ajax调用控制器中的函数

问题描述 投票:2回答:2

我是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";
    }
}

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

php laravel laravel-4
2个回答
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')

0
投票

$。ajax({输入:“ POST”,url:'OrderData',//不知道在这里添加什么作为URL数据:{taskId:taskId.value},成功:function(){}});

© www.soinside.com 2019 - 2024. All rights reserved.