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面向对象分析设计的经验原则
Sep 20 PHP
PHP 手机归属地查询 api
Feb 08 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
Laravel 5框架学习之表单
Apr 08 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
基于PHP生成简单的验证码
Jun 01 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
phpinfo的知识点总结
Oct 10 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网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
实例讲解PHP表单
2020/06/10 PHP
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
python缩进区别分析
2014/02/15 Python
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python素数检测实例分析
2015/06/15 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
python实现下载文件的三种方法
2017/02/09 Python
Python实现随机选择元素功能
2017/09/14 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
Python3数字求和的实例
2019/02/19 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
宿舍保安职务说明书
2014/02/25 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
2014年团总支工作总结
2014/11/21 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL