php – Laravel:发布后加载视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel:发布后加载视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1692字,纯文字阅读大概需要3分钟。
内容图文
![php – Laravel:发布后加载视图](/upload/InfoBanner/zyjiaocheng/744/0e0febf6b3624fbd9dc3f4607dec3993.jpg)
在Codeigniter中,我曾经在发布数据后调用了view函数.如下;
例如:我有一个show_products()函数,它将显示产品列表.当用户添加新产品时,我将数据发布到add_product()函数中.如果过程成功,我将不会重定向到产品页面,而是在add_product()中加载显示功能,如下所示:
//Inside the add_product() function
if(success){
$this->show_products();
}
我想,重新加载页面是没有意义的.由于我们已经在post函数中,因此我们可以在数据库插入后立即设置视图.
但是在laravel中,我看到人们在发布数据后重定向.
例如:
//Inside the postProduct() function
if(success){
return Redirect::to('products');
}
我试过了;
//Inside the postProduct() function
if(success){
$this->getIndex();// this is my product display function
}
但它不起作用.
通过在post函数中加载视图而不是每次重定向都可以获得好处吗?
如果是这样,我怎么能用laravel达到同样的目的?
非常感谢!
解决方法:
这不是关于Laravel,而是关于一种好的或正确的做事方式.换句话说,在成功提交表单后,重定向到另一个路径/页面是一种很好的编程习惯.
即使在CodeIgniter或普通的Php中,我也喜欢这种方法,并鼓励其他开发人员这样做.那么,问题是为什么这个重定向比从同一个请求直接调用另一个方法来显示另一个视图/页面更好?
这是该过程的生命周期:
>您将表单发布到路径/操作页面.
>您验证提交的数据,并在成功验证后将提交的数据插入数据库,否则您将重定向回到具有错误和旧用户输入的表单.
所以.假设您已提交表单并已成功将数据保存到数据库中.保存后,你做了这样的事情:
return View::make('...')->with('success', 'Data saved!');
在这种情况下,您的用户可以在屏幕上看到成功消息但是如果用户按下键盘上的f5键来刷新页面(可能是偶然),表单将再次提交给同一个动作,整个过程将再次重复.
因此,如果您在表单提交后进行了重定向,则刷新页面将不再向该表单发出任何请求.
谷歌搜索结果在form resubmit on refresh.上,查看链接,可能是第一个/第二个,你会更好地了解问题以及表单提交后重定向的好处.
内容总结
以上是互联网集市为您收集整理的php – Laravel:发布后加载视图全部内容,希望文章能够帮你解决php – Laravel:发布后加载视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。