PHP与javascript的两种交互方式


Posted in PHP onOctober 09, 2006

    在网页制作过程中怎样在不刷新页面的情况下使前台页面和
后台CGI页面保持交互一直是个问题。这里介绍两个我在实践中使
用的方法。

    方法一:通过Cookie交互。一共是三个文件,分别为:
index.htm,action.php,main.htm
      原理为前台页面main.htm和后台action.php通过页面框架
index.htm组织起来,将action.php的页面宽度设为0,这样并不
影响显示。action.php将信息放入cookie中,main.htm通过读取
cookie来实现交互。在main.htm中也可以通过重新读取action.php
来实现控制后台CGI程序。

index.htm
---------------------------------------------------------------
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<frameset framespacing="0" border="false" frameborder="0" cols="0,*">
  <frame name="leftFrame" scrolling="no" noresize src="action.php">
  <frame name="rightFrame" scrolling="auto" src="main.htm">
</frameset><noframes>
  <body bgcolor="#FFFFFF">
  <p>本页使用页面框架,但是您的浏览器不支持。</p>
  </body>
</noframes>
</html>
---------------------------------------------------------------

action.php
---------------------------------------------------------------
<?
srand((double)microtime()*1000000);
$result=rand(0,100);
setcookie("action",$result,time()+900,"/");
?>
---------------------------------------------------------------

main.htm
---------------------------------------------------------------
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
function get_cookie()
{
  document.test.current_cookie.value=document.cookie;
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="test" >
当前参数为<input type="text" name="current_cookie" size="80" maxlength="1000">
</form>
<script language="javascript">
  setInterval("get_cookie()",200);
</script>
<br>
<a href="action.php" target="leftFrame">重新读取Cookie</a>
</body>
</html>
---------------------------------------------------------------

    方法二:直接通过parent.*.*来实现交互。一共是三个文件,分别为:
index.htm,action.php,main.htm,其中index.htm和前面的一样。
    原理为通过parent.rightFrame.test.current_cookie.value直接传递
信息。

action.php
---------------------------------------------------------------
<?
srand((double)microtime()*1000000);
$result=rand(0,100);
?>
<script language="javascript">
  parent.rightFrame.test.current_cookie.value="<? echo $result?>";
</script>
---------------------------------------------------------------

main.htm
---------------------------------------------------------------
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<form name="test" >
当前参数为<input type="text" name="current_cookie" size="80" maxlength="1000">
</form>
<br>
<a href="action.php" target="leftFrame">重新读取Cookie</a>
</body>
</html>
---------------------------------------------------------------  

PHP 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
PHP 输出简单动态WAP页面
Jun 09 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
PHP 文件系统详解
Sep 13 PHP
php生成扇形比例图实例
Nov 06 PHP
PHP修改session_id示例代码
Jan 08 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
用PHP和ACCESS写聊天室(六)
Oct 09 #PHP
PHP+javascript模拟Matrix画面
Oct 09 #PHP
用PHP和ACCESS写聊天室(五)
Oct 09 #PHP
用PHP和ACCESS写聊天室(四)
Oct 09 #PHP
用php和MySql来与ODBC数据连接
Oct 09 #PHP
WHOIS类的修改版
Oct 09 #PHP
很实用的一个完整email发送程序
Oct 09 #PHP
You might like
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
php实现微信模板消息推送
2018/03/30 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
利用Psyco提升Python运行速度
2014/12/24 Python
python选择排序算法实例总结
2015/07/01 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
python构建深度神经网络(续)
2018/03/10 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
铭立家具面试题
2012/12/06 面试题
幼儿园大班教学反思
2014/02/10 职场文书
环保建议书
2014/03/12 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
2014年协会工作总结
2014/11/22 职场文书
见义勇为事迹材料
2014/12/24 职场文书
委托书的样本
2015/01/28 职场文书
员工加薪申请报告
2015/05/15 职场文书
音乐会主持人开场白
2015/05/28 职场文书