如何在yii2中使用自定义控制器?

如何在yii2中使用自定义控制器?,yii2,Yii2,我有一个从默认的SiteController呈现的视图文件。此视图文件对名为A1Controller的不同控制器中的操作getdetails进行ajax调用。我想知道如何在ajax调用中编写url,以及在web.php配置文件中的UrlManager中是否需要更改任何内容 这是我的ajax调用: ajaxCall = function () { $.get('how/to/write/this/url?', function (data) { var jsondata=JS

我有一个从默认的
SiteController
呈现的视图文件。此视图文件对名为
A1Controller
的不同控制器中的操作
getdetails
进行ajax调用。我想知道如何在ajax调用中编写url,以及在web.php配置文件中的
UrlManager
中是否需要更改任何内容

这是我的ajax调用:

ajaxCall = function () {
    $.get('how/to/write/this/url?', function (data) {
       var jsondata=JSON.parse(data);
        GenerateTable(data);
        setTimeout('ajaxCall()', 5000);
    });
};
谁能帮帮我吗。提前感谢。

在查看文件中:

<?php

$ajaxUrl = \yii\helpers\Url::to(['controller/action-name']);

$this->registerJs("
    ajaxCall = function () {
    $.get('$ajaxUrl', function (data) {
       var jsondata=JSON.parse(data);
        GenerateTable(data);
        setTimeout('ajaxCall()', 5000);
    });
};
");
视图文件中的

<?php

$ajaxUrl = \yii\helpers\Url::to(['controller/action-name']);

$this->registerJs("
    ajaxCall = function () {
    $.get('$ajaxUrl', function (data) {
       var jsondata=JSON.parse(data);
        GenerateTable(data);
        setTimeout('ajaxCall()', 5000);
    });
};
");

谢谢你的回答。问题是,我已经将javascript代码分离到一个单独的文件中,并添加到js文件夹中。有办法解决吗?@redbaggle在PHP中:
$this->registerJs(“var AJAX_URL=$ajaxUrl;”代码:
$.get(AJAX\u URL,函数(数据){…
谢谢你的回答。问题是,我已经将javascript代码分离到一个单独的文件中,并添加到Js文件夹中。有什么办法吗?@redbaggle在PHP中:
$this->registerJs(“var AJAX\u URL=$ajaxUrl;”;
在Js中:
$.get(AJAX\u URL,函数(数据){…