假设我的PHP页面确实是真实的'动作。
通过' REAL'我的意思是,执行数据库操作,编写文件,这样的东西,而不是发送HTML。
当我点击' Back'按钮到我的PHP页面,假设它是一个GET。
这是否意味着我的PHP代码不一定会在所有浏览器上一直运行?
如果我有一张图片,我想在每次请求该页面时刷新(特别是在' Back'),我该怎么办呢?
仅仅是我还是内部不喜欢javascript是正常的? (在我看来,对于那些首先无法正常工作的补丁,以及不是每个人都能让javascript正常工作,它似乎总是如此)
我不挑剔但是可以认为HTTP级解决方案在这里是最好的吗?
由于
答案 0 :(得分:3)
通过POST加载的页面将导致浏览器要求用户重新提交信息以查看页面,从而导致该页面再次发生的操作。如果页面是通过GET请求的,并且在查询字符串中有变量,则会发生同样的事情,但是会无声地提示(不会再次提示用户)。
最好解决此问题的方法是使用POST/REDIRECT/GET pattern。我在一个关于processing payments that I wrote for Authorize.Net的例子中使用过它。希望这能指出你正确的方向。
答案 1 :(得分:2)
通过'REAL'我的意思是,执行数据库操作......
....假设它是一个GET。
然后你已经破坏了HTTP的基本原则:Get是幂等的,onlu POST,DELE和PUT应该在服务器上修改状态。
这是有充分理由的;使用浏览器导航元素(后退,前进)不需要浏览器引用GET或HEAD操作的原点,即使您告诉浏览器该页面是不可缓存的。
如果我有图像,我想每次刷新
...然后使用带有随机生成的查询字符串的javascript通过window.onload方法获取图像。