设置URL规则后,yii2 ajax调用不再有效

时间:2016-01-10 01:23:46

标签: jquery ajax yii2

我设置了单击按钮时调用的ajax函数。

当我设置以下网址管理员规则

时,没有规则规则时,它会起作用
'posts' => 'posts/index',
'posts/index' => 'posts/index',
'posts/view/<id:\d+>' => 'posts/view',    
'posts/<slug>' => 'posts/slug',

我收到以下错误

POST http://localhost:8888/posts/liked?id=56 500 (Internal Server Error)

1 个答案:

答案 0 :(得分:0)

没有足够的信息,所以我假设您的UrlManager配置是这样的。

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName'=>false,
        'rules' => [
            'posts' => 'posts/index',
            'posts/index' => 'posts/index',
            'posts/view/<id:\d+>' => 'posts/view',
            'posts/<slug>' => 'posts/slug',
            ...

postsPostsControllerslugactionSlug()

如果您的ajax请求代码如下所示,它将起作用。

        jQuery.ajax({
            url: '/posts/liked?id=56',
            type: 'POST',
            ...

我已使用PostsController中的操作函数对此进行了测试。

public function actionSlug() {
    $id = Yii::$app->request->get('id');
    echo json_encode($id);
}