php后台程序与Javascript的两种交互方式


Posted in PHP onOctober 25, 2009

方法一:通过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
<?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函数
Dec 06 PHP
PHP 实例化类的一点摘记
Mar 23 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
PHP版微信公众平台红包API
Apr 02 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
PHP 数组教程 定义数组
Oct 23 #PHP
PHP 判断变量类型实现代码
Oct 23 #PHP
PHP 变量类型的强制转换
Oct 23 #PHP
PHP教程 预定义变量
Oct 23 #PHP
PHP 处理图片的类实现代码
Oct 23 #PHP
PHP教程 变量定义
Oct 23 #PHP
PHP教程 基本语法
Oct 23 #PHP
You might like
php递归遍历删除文件的方法
2015/04/17 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
jquery 笔记 事件
2011/11/02 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
使用npm安装最新版本nodejs
2018/01/18 NodeJs
使用svg实现动态时钟效果
2018/07/17 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Python2与Python3的区别实例总结
2019/04/17 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
Python单链表原理与实现方法详解
2020/02/22 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
酒店司机岗位职责
2013/12/14 职场文书
烟台的海导游词
2015/02/02 职场文书
项目建议书
2015/02/04 职场文书
行政答辩状范文
2015/05/21 职场文书
javaScript Array api梳理
2021/03/31 Javascript
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL