thinkphp的redirect问题。新手求助! 5
这是一个删除的方法,使用了redirect重定向,删除功能以及实现,只是删除后本来应该弹出《删除成功》的提示框现在却没有,似乎直接执行了redirect。屏蔽redire...
这是一个删除的方法,使用了redirect重定向,删除功能以及实现,只是删除后本来应该弹出《删除成功》的提示框现在却没有,似乎直接执行了redirect。屏蔽redirect后又会弹出提示框。求助为什么啊?
展开
1个回答
展开全部
首先要理解一点,服务器接收到一次请求,只有在处理完所有的逻辑语句或者遇到结束语句后才会对本次请求作出响应,也就是向客户端返回数据;理解了这一点之后问题就好解决了。
首先说一下为什么屏蔽 redirect 之后就能弹窗:
当function del 执行完毕后,也就是执行 echo 输出语句之后,由于方法已经执行完毕,apache 会把echo 输出的结果返回给 客户端,浏览器接收到script 脚本后就会执行脚本中的语句,所以就弹窗了;
但是加上 redirect 之后就不弹窗了,因为方法执行到 echo 之后并该方法并没有结束,所以会先继续向后执行,之后遇到 redirect 方法就跳走了,而之前echo 输出的脚本并没有返回给客户端,所以没有弹窗。
首先说一下为什么屏蔽 redirect 之后就能弹窗:
当function del 执行完毕后,也就是执行 echo 输出语句之后,由于方法已经执行完毕,apache 会把echo 输出的结果返回给 客户端,浏览器接收到script 脚本后就会执行脚本中的语句,所以就弹窗了;
但是加上 redirect 之后就不弹窗了,因为方法执行到 echo 之后并该方法并没有结束,所以会先继续向后执行,之后遇到 redirect 方法就跳走了,而之前echo 输出的脚本并没有返回给客户端,所以没有弹窗。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询