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录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
PHP源码之 ext/mysql扩展部分
Jul 17 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
PHP使用new StdClass()创建空对象的方法分析
Jun 06 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
因str_replace导致的注入问题总结
Aug 08 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
JS高级运动实例分析
2016/12/20 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
python通过索引遍历列表的方法
2015/05/04 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
通信专业个人自我鉴定
2013/10/21 职场文书
行政主管岗位职责
2013/11/18 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
岗位职责说明书模板
2014/07/30 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
党小组推荐意见
2015/06/02 职场文书
教导处教学工作总结
2015/08/12 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
JavaScript 原型与原型链详情
2021/11/02 Javascript