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随机数生成代码与使用实例分析
Apr 08 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
PHP join()函数用法与实例讲解
Mar 11 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
javascript正则表达式总结
2016/02/29 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
python 计算文件的md5值实例
2017/01/13 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
pygame实现五子棋游戏
2019/10/29 Python
python打开文件的方式有哪些
2020/06/29 Python
Python调用C语言程序方法解析
2020/07/07 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
社区七一党员活动方案
2014/01/25 职场文书
清洁工岗位职责
2014/01/29 职场文书
婚内房产协议书范本
2014/10/02 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年财务科工作总结
2014/11/11 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript