2015-10-21 25 views
2

我控制器UserController和行動actionAjax定義的URL。我通過Chrome訪問下面的網址,並且正常運行。如何訪問Yii2

index.php?r=user/ajax 

現在我定義與命名爲actionAjaxUser新動作,仍使用Chrome訪問URL index.php?user/ajaxUser

然後返回404。 我應該怎麼做才能獲得actionAjaxUser的內容?

+1

。 – BHoft

回答

3

增加對後「動作」一每增加大寫字母「 - 」所以你的情況

index.php?r=user/ajax-user

所以,如果你有一個像actionTest1Test2Test3一個動作的URL會controllername/test1-test2-test3

請注意,如果您使用的訪問規則,你也必須使用「URL」路徑。

return [ 
     'access' => [ 
      'class' => AccessControl::className(), 
      'rules' => [ 
       [ 
        'actions' => ['test1-test2-test3'], 
        'allow' => true, 
        'roles' => ['@'], 
       ], 
      ], 
     ], 
    ]; 

相同的命名方案是順便說一句。也用於控制器。例如。如果您的控制器名稱爲Test1Test2Controller,則視圖文件夾名稱將爲test1-test2

希望這闡明這個給你。當然,他可以在