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 相关文章推荐
多php服务器实现多session并发运行
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
laravel通用化的CURD的实现
Dec 13 PHP
php实现图片压缩处理
Sep 09 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简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
jQuery中event.target和this的区别详解
2020/08/13 jQuery
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python脚本实现格式化css文件
2015/04/08 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
白酒市场开发计划书
2014/01/09 职场文书
分公司经理任命书
2014/06/05 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
党员个人整改措施
2014/10/24 职场文书
公司财务人员岗位职责
2015/04/14 职场文书