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 不错的学习资料
Feb 06 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
PHP XML和数组互相转换详解
Oct 26 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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
mysql 字段类型说明
2007/04/27 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
实例解析php的数据类型
2018/10/24 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
python self,cls,decorator的理解
2009/07/13 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
python中字典增加和删除使用方法
2020/09/30 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
Html5 web本地存储实例详解
2016/07/28 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
网络安全方面的面试题
2015/11/04 面试题
公司应聘求职信
2014/06/21 职场文书
男方婚礼答谢词
2015/01/20 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Java基础——Map集合
2022/04/01 Java/Android
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android
python如何将mat文件转为png
2022/07/15 Python