嘿家伙我正在制作一个网站,我需要显示一个错误(异常或chttpexception),当这发生在一个模态。
实际上模态显示为空,但控制台显示错误。
我怎么能解决这个问题?
谢谢。
这就是现在发生的事情:https://i.stack.imgur.com/UV61O.png
我需要这个:https://i.stack.imgur.com/hPfKi.png
我的控制器动作:
public function actionMomios($id)
{
$this->findModel(1000); //this number is for the error its an ID
}
这是抛出错误的函数:
protected function findModel($id)
{
if (($model = Partido::findOne($id)) !== null) {
return $model;
}
throw new NotFoundHttpException('El partido no se encuentra registrado'); // This is the exception i need to show
}
这是调用模态的代码(在gridview中):
'momios' => function($url,$model,$key){
$btn = Html::button("<span class='glyphicon glyphicon-usd'></span>",[
'value'=>Yii::$app->urlManager->createUrl('partido/momios?id='.$key),
'class'=>'momioedit grid-action btn btn-success',
'title'=>'Modificar momios'
]);
return $btn;
},
我在视图中的模态:
<?php
Modal::begin([
'header' => '<h4>Editar Momio</h4>',
'id' => 'modalmomio',
'size' => 'modal-lg',
]);
echo "<div id='momiocontent'></div>";
Modal::end();
?>
我的JS:
$('.momioedit').click(function(){
$('#modalmomio').modal('show')
.find('#momiocontent')
.load($(this).attr('value'));
});
你只需要将你的代码包装在try{}catch(){}
中的actionMomios($id)
块内,该块调用findModel()
方法,如下所示。
public function actionMomios($id)
{
try{
$this->findModel(1000); //this number is for the error its an ID
}catch(\Exception $e){
return $e->getMessage();
}
}