繁体   English   中英

如何使控制器记住Ajax发布数据Yii2

[英]How to make controller remember ajax post data Yii2

我有多个模式窗口,从其中一个窗口我想发送几个$ models到另一个窗口,就像父亲有几个儿子一样……而我们无法保存儿子,因为我们不知道父亲的身份证和姓名。

JS

$("#modal-deposit").submit(function($form) {

    $form.preventDefault();
    $.ajax({
        type: "POST",
        url: "index.php?r=family/create", // сreatedeposit создает запись.
        data: $("#form-deposit").serialize(), // Сериализует the form's elements.
 return false;
});

行动

public function actionCreate()
    {
        $family_model = new family();
        $model_deposit = new FinanceIncomeExpenses();

        if ($family_model->load(Yii::$app->request->post())
            && $family_model->save())
        {
           if ($model_deposit->sum != null)// one of the required fields
            {
               $model_deposit->family_id = $family_model->id;
               $model_deposit->save();
            }


        } else {
            if(Yii::$app->getRequest()->isAjax){
                return $this->renderAjax('create', [
                    'family_model' => $family_model,
                    'model_deposit' => $model_deposit,
                ]);
            }else{
                return $this->render('create', [
                    'family_model' => $family_model,
                    'model_deposit' => $model_deposit,
                ]);
            }
        }
    }

对于一个你需要改变

url: "index.php?r=family/create",

url: "<?php echo \Yii::$app->getUrlManager()->createUrl('family/create') ?>",

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM