yii2 Ajax请求错误404

时间:2015-05-19 18:18:11

标签: php ajax frameworks yii2

我想在yii2中使用ajax(PHP框架) 我使用以下代码,但它不起作用。

我的视图文件(PHP):

<script>
var url1='<?php echo  Url::toRoute('Agehi/Ajaxshahr'); ?>';
</script>
<?php
$script= <<<JS
    function selectshahr()
    {
        var ost = $("#ostan").val();
        $.ajax(
        {
            type: "post",
            url: url1,
            data: ost,
            cache: false,
            success: function(data)
            {
                alert(data);
            }
        });

    }
JS;
$this->registerJs($script,View::POS_BEGIN);

$form = ActiveForm::begin([
    'id' => 'login-form',
    'options' => ['class' => 'form-horizontal','enctype'=>'multipart/form-data'],
]);
echo $form->errorSummary($model,['header'=>'لطفا خطاهای زیر را برطرف نمایید','class'=>'']);
echo \vova07\imperavi\Widget::widget([
    'selector' => '#content','name'=>'content',
    'settings' => [
        'lang' => 'fa',
        'minHeight' => 200,
        'plugins' => [
            'clips',
            'fullscreen'
        ]
    ]
]);
?>
<?= Html::label('استان','ostan',array()) ?>
<?= Html::dropDownList('ostan', null,
    ArrayHelper::map($ostan, 'id', 'name'),array('class'=>'form-control','onchange'=>'selectshahr()','id'=>'ostan')) ?>
<?= Html::label('شهرستان/شهر','shahr',array()) ?>
<?= Html::dropDownList('shahr', null,
    array(),array('class'=>'form-control')) ?>

并在我的控制器中:

class AgehiController extends \yii\web\Controller
{
    public function  actionAjaxshahr($ostan)
    {
        $data = Shahr::findAll('condition', 'osid=' . $_POST['data']);
        if(yii::$app->request->isAjax())
        {
            return $this->renderPartial('_Ajax_shahr', array('data' => $model));
        }
        return $this->renderPartial('_Ajax_shahr', array('data' => $model));

    }

}

一切似乎都没问题,但它不响应任何请求 我查看了浏览器开发人员工具,并将AJAX视为404错误

1 个答案:

答案 0 :(得分:0)

路线中的控制器和操作名称应为小写。