return $this->message($this->getError($model), $this->redirect(Yii::$app->request->referrer),'error');修改该代码,使不要刷新页面
时间: 2024-05-11 09:13:56 浏览: 154
可以使用Ajax来实现不刷新页面的提示信息。
首先,在视图页面中添加一个空的div标签,用于显示提示信息:
```
<div id="message"></div>
```
然后,在控制器中修改代码:
```
if (!$model->save()) {
Yii::$app->response->format = Response::FORMAT_JSON; // 设置响应格式为JSON
return ['status' => 'error', 'message' => $this->getError($model)]; // 返回JSON格式的数据
}
```
最后,在视图页面中添加Ajax代码,通过Ajax获取控制器返回的JSON数据,根据数据中的status和message显示相应的提示信息:
```
$.ajax({
type: 'POST',
url: 'your_controller/action',
data: $('#your_form').serialize(),
success: function(data) {
if (data.status == 'success') {
// 成功提示
$('#message').html('<div class="alert alert-success">' + data.message + '</div>');
} else if (data.status == 'error') {
// 失败提示
$('#message').html('<div class="alert alert-danger">' + data.message + '</div>');
}
}
});
```
阅读全文