Ajax发布到控制器操作

时间:2013-08-08 16:20:13

标签: jquery ajax laravel laravel-4

如何在Laravel 4中调用Controller中的Action?我试过这样的话:

$.post('/tutorials/rate', {id:tutID, rating : rating});

在我的控制器中我有这个:

public function rate()  {
return whatever;
}

和我的routes.php:

Route::get('/tutorials/rate', array('uses' => 'TutorialController@rate'));

但它不起作用......

更新:自己修理...将我的控制器功能改为:

public function post_rate() {
return whatever;
}

2 个答案:

答案 0 :(得分:1)

您通过Jquery发布,但随后在Laravel中使用Route :: get方法。

应该是Route :: post()

路线

Route::Controller('tutorials');

Controller Tutorials

public function postRate(){}

答案 1 :(得分:1)

您使用$.post()表示您使用POST请求发送数据 你没有抓住这个方法/网址组合。

修改你的routes.php,你很高兴

Route::post('tutorials/rate', 'Tutorials@rate');

<?php

class Tutorials extends BaseController
{
    public function rate()
    {
        return 'rating';
    }
}

如果我是你,我会使用Resource(或者RESTfull)控制器 但这取决于情况 - 祝你好运:)。