Jquery Ajax发送到控制器操作
如何在Laravel 4中调用控制器内的操作?!我这样试过:Jquery Ajax发送到控制器操作,jquery,ajax,laravel,laravel-4,Jquery,Ajax,Laravel,Laravel 4,如何在Laravel 4中调用控制器内的操作?!我这样试过: $.post('/tutorials/rate', {id:tutID, rating : rating}); 在我的控制器中,我有: public function rate() { return whatever; } 在my routes.php中: Route::get('/tutorials/rate', array('uses' => 'TutorialController@rate')); 但它不起作用 更
$.post('/tutorials/rate', {id:tutID, rating : rating});
在我的控制器中,我有:
public function rate() {
return whatever;
}
在my routes.php中:
Route::get('/tutorials/rate', array('uses' => 'TutorialController@rate'));
但它不起作用
更新:自行修复…将控制器功能更改为:
public function post_rate() {
return whatever;
}
您通过Jquery发布,但随后在Laravel中使用Route::get方法 应该是Route::post() 或 路线 控制器教程
public function postRate(){}
您使用$.post()
,这意味着您正在使用post请求发送数据。您没有捕获此方法/url组合 修改你的
routes.php
,你就可以开始了
Route::post('tutorials/rate', 'Tutorials@rate');
<?php
class Tutorials extends BaseController
{
public function rate()
{
return 'rating';
}
}
Route::post('tutorials/rate','Tutorials@rate');
嗯,给我一个500内部服务器错误!我在函数名上犯了错误。已修复,将公共函数路由()重命名为公共函数速率()
。现在可以工作了吗?不,我在你修复它之前看到的那个错误…仍然不能工作:(双重检查(甚至单元测试)-工作起来很有魅力。试着运行composer dump autoload-o
命令来重新加载类映射你也可以使用一个控制器,然后在控制器中执行Route::controller('tutorials');然后执行公共函数postRate()。
Route::post('tutorials/rate', 'Tutorials@rate');
<?php
class Tutorials extends BaseController
{
public function rate()
{
return 'rating';
}
}