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 相关文章推荐
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php中opendir函数用法实例
Nov 15 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
PHP实现的简单网络硬盘
Jul 29 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
thinkPHP5使用Rabc实现权限管理
Aug 28 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 页面执行时间计算代码
2008/12/04 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
php中关于换行的实例写法
2019/09/26 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
python机器学习之神经网络(一)
2017/12/20 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
jupyter 导入csv文件方式
2020/04/21 Python
python操作redis数据库的三种方法
2020/09/10 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
单位实习证明怎么写
2014/01/17 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
竞聘书模板
2014/03/31 职场文书
出国留学担保书
2014/05/20 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript