重新加载<div>是否被视为页面的重新加载?PHP

3
基本上,我有这样一个设置:
<body> 
<div id="header">
   <h3> Header </h3>
</div>

<div id="body">
</div>

<div id="foot">
</div>

这里的想法是引导用户通过六个步骤的向导填写数据以计算出一个值。
每个步骤都将被加载到<div id="body">中,第一步通过jQuery加载,后面的步骤通过JavaScript函数加载。
这些步骤被称为:step01.php、step02.php等...
现在我的问题是:当我从step01.php加载到step02.php时,在<div id="body">中是否会看作是页面重新加载?因为我想将填写在step01.php中的变量保存到会话中,或保存到另一个.php文件中。但由于php是服务器端的,我想知道div中的文件重新加载是否被视为完整的页面重新加载?
如果没有完整的页面重新加载就不可能实现,那么请建议其他方法...我已经阅读了一些有关AJAX的文档,但对我来说仍然非常模糊。所以如果有“新手教程”,请提供建议。
目前,我正在将变量保存在JavaScript文件中,将其制作成cookies,然后使用php从cookie中提取变量。但我知道有更简单的方法。

1
使用jQuery的load函数非常简单。阅读它们的文档。您可以刷新特定的DIV而不是整个页面。 - Deadlock
我找不到具体的问题,但是是的,你需要的是ajax。使用ajax,你不需要重新加载页面(除非你强制要求)。通过ajax,你向服务器发起请求并获取响应。如果返回的是html,你可以将其推送到你的<div id="body">中。 - Mohayemin
是谁看到了完整的页面重载,PHP 还是用户? - Joni
这个可能有用:http://thecodemine.org/ 这是基于jquery的ajax向导,有很多示例可供学习。 - Tom Macdonald
3个回答

2
是的,对于您的服务器端php脚本来说,这被视为“页面加载”。您放入会话中的任何内容都将在下一次重新加载div时出现。

2

但由于php是服务器端的,我想知道在div中重新加载文件是否被视为完整页面重新加载?
在这种情况下,答案是:是的。
服务器端的PHP对客户端使用的div元素一无所知。通常情况下,PHP对服务器端脚本的数据/输出与客户端的操作几乎没有兴趣。
它关心的只是http往返,无论您进行完整页面重新加载还是使用ajax。
对于PHP核心来说,这都是一样的。请求进来,进行一些初始化,处理脚本,将输出发送到客户端(作为字节流 - 在这个级别上,PHP不“理解”您向客户端发送的内容;html、纯文本、图像、应用程序代码,对PHP来说都是一样的),进行一些垃圾回收,启动关闭机制,完成。


0

如果你只是使用 jQuery 加载到一个 div 中,那么它们不会是页面重新加载。即地址栏中的 URL 保持不变。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接