使用Select2调用视图Yii2中的函数

使用Select2调用视图Yii2中的函数,yii2,jquery-select2,yii2-advanced-app,Yii2,Jquery Select2,Yii2 Advanced App,我使用高级框架Yii2。我在前端有RegionController,在前端有RegionModel。在视图中,我想使用Select2调用公共函数Countrylist来显示所有国家/地区。但当我尝试调用此函数时,例外情况是“未找到此页面”。。。 这是控制器: <?php namespace frontend\controllers; use Yii; use frontend\models\Region; use frontend\models\Country; use fro

我使用高级框架Yii2。我在前端有RegionController,在前端有RegionModel。在视图中,我想使用Select2调用公共函数Countrylist来显示所有国家/地区。但当我尝试调用此函数时,例外情况是“未找到此页面”。。。 这是控制器:

    <?php

namespace frontend\controllers;

use Yii;
use frontend\models\Region;
use frontend\models\Country;
use frontend\models\RegionSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\db\Query;
use yii\helpers\ArrayHelper;
use yii\helpers\Json;
/**
 * RegionController implements the CRUD actions for Region model.
 */
class RegionController extends Controller
{

    public function actionRegionlist($q = null, $id = null) {
        \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        $out = ['results' => ['id' => '', 'text' => '']];
        if (!is_null($q)) {
            $query = new Query;
            $query->select('id, name AS text')
                ->from('region')
                ->where(['like', 'name', $q])
                ->andWhere(['country_id' => $_GET['country']])
                ->limit(20);
            $command = $query->createCommand();
            $data = $command->queryAll();
            $out['results'] = array_values($data);
        }
        elseif ($id > 0) {
            $out['results'][] = ['id' => $id, 'text' => Region::find($id)->name];
        }
        return $out;
    }

    public function actionCountrylist($q = null, $id = null) {
            \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
            $out = ['results' => ['id' => '', 'text' => '']];
            if (!is_null($q)) {
                $data = array();
                $arr = ArrayHelper::map(Country::find()->select('country.id, country.name')->filterWhere(['like', 'country.name', $q])->limit(10)->all(), 'id', 'name');
                ksort($arr);
                if ($arr) {
                    $k = 0;
                    foreach ($arr as $id => $value) {
                        $data[$k]['id'] = $id;
                        $data[$k]['text'] = $value;
                        $k++;
                    }
                }
                $out['results'] = array_values($data);
            }
            return $out;
    }
}


尝试根据作用域更改Url

$url = \yii\helpers\Url::to(['region\countrylist']);

$url = \yii\helpers\Url::to(['\region\countrylist']);

生成的
$url
错误,请仔细检查您的url以了解正确的控制器操作。添加
$url
生成的内容。url为“”我尝试过,但没有bg,但没有任何更改。您的视图文件在哪里?它是区域控制器的一部分?尝试
$url=\yii\helpers\url::to(['region\countrylist'])
$url=\yii\helpers\url::to([\region\countrylist'])是的,谢谢,这是有效的。如果对你有效,请将答案标记为正确
$url = \yii\helpers\Url::to(['\region\countrylist']);