1

如何在 Laravel 4 的控制器中调用动作?!我试过这样:

$.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;
}
4

2 回答 2

1

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

应该是 Route::post()

或者

路线

Route::Controller('tutorials');

控制器教程

public function postRate(){}
于 2013-08-08T16:22:31.667 回答
1

您使用$.post()这意味着您正在使用 POST 请求发送数据。
您没有掌握此方法/网址组合。

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

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

<?php

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

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

于 2013-08-08T16:25:29.990 回答