欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Yii2 return时如何携带参数

程序员文章站 2022-06-12 09:59:05
...
在使用yii2的过程中碰到这样的问题,先谢谢大家的帮忙,不甚感激!
作为练习,做了一个留言板,这个留言板的留言表单与留言内容在同一个界面,现在需求是当我填写完毕留言内容后点击发送,然后如果在控制器成功保存数据的话就用js的alert提示用户成功发送。但是现在问题来了,正常情况下我们都是使用render来渲染模板的,而这个render是可以有参数的,但是为了防止重复提交,我在这里用的是 refresh,而这个是直接刷新界面了,而且refresh是没有办法像render一样添加参数的,请假大家该怎么办才能解决我的需求。
注:之所以附参数是因为可以从view接收参数并可以知道是否提交成功,成功就直接提示,当然,如果有更好的办法解决而不用带参数更好!
谢谢各位了!

回复内容:

在使用yii2的过程中碰到这样的问题,先谢谢大家的帮忙,不甚感激!
作为练习,做了一个留言板,这个留言板的留言表单与留言内容在同一个界面,现在需求是当我填写完毕留言内容后点击发送,然后如果在控制器成功保存数据的话就用js的alert提示用户成功发送。但是现在问题来了,正常情况下我们都是使用render来渲染模板的,而这个render是可以有参数的,但是为了防止重复提交,我在这里用的是 refresh,而这个是直接刷新界面了,而且refresh是没有办法像render一样添加参数的,请假大家该怎么办才能解决我的需求。
注:之所以附参数是因为可以从view接收参数并可以知道是否提交成功,成功就直接提示,当然,如果有更好的办法解决而不用带参数更好!
谢谢各位了!

Yii::$app->session->setFlash('success', 'success!');
$this->refresh();

这个需求,改成ajax实现更好,用户提交后,ajax POST提交

老年间有时候会这么写

if(!empty($_POST['xxx'])){
    //有提交时候的代码,多输出一段提示,比如div或者script
}
//一般情况下的页面

不建议用refresh,会需要临时保存数据进session或者cookie,然后还要清除