我是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调用?感谢。
答案 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')