Heim >php教程 >PHP开发 >Ajax-Übermittlungsmethode der Yii2.0 ActiveForm-Komponente

Ajax-Übermittlungsmethode der Yii2.0 ActiveForm-Komponente

黄舟
黄舟Original
2017-01-03 09:40:061528Durchsuche

Wie übermittelt ActiveForm asynchron?

1. Konfigurieren Sie zunächst die folgenden Attribute in der ActiveForm der Ansichtsebene

),           //此处为请求地址 Url用法查看手册
    'enableAjaxValidation' => true,
        'validationUrl' => Url::to(['post/validate']),     //数据异步校验
]);

2.配置好表单属性之后,在控制器中添加对应的方法

validateUrl对应的方法

//该方法是异步校验字段,输入框失去焦点之后自动会自动请求改地址
public function actionValidate(){
    $model = new PostModel();
    if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {        
        Yii::$app->response->format = Response::FORMAT_JSON;        
        return ActiveForm::validate($model);
    }
}

action对应的方法

//该方法是数据保存方法
public function actionSave()
{
    $model = new PostCatModel();
    if ($model->load(Yii::$app->request->post())) {
        Yii::$app->response->format = Response::FORMAT_JSON;
        return ['status' => $model->save()];
    }        
}

Darüber hinaus müssen Sie auch ein übermitteltes js schreiben

[code=php;toolbar:false">//此处点击按钮提交数据的jquery
$('.btn').click(function () {
$.ajax({
url: "/post/save.html",
type: "POST",
dataType: "json",
data: $('form').serialize(),
success: function(Data) {
if(Data.status)
alert('保存成功');
else
alert('保存失败')
},
error: function() {
alert('网络错误!');
}
});
return false;
});

Hinweis : Der entsprechende Namespace in actionSave muss hinzugefügt werden, andernfalls wird ein Fehler gemeldet

Zum Beispiel Response und ActiveForm

use yiiwebResponse;
use yiiootstrapActiveForm;[/code]

Das Obige ist die asynchrone Übermittlungsmethode entsprechend ActiveForm

Das Obige ist die Ajax-Übermittlungsmethode der Yii2.0 ActiveForm-Komponente. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn