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发送邮件类代码附详细说明
Jul 10 PHP
php 设计模式之 单例模式
Dec 19 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
关于laravel5.5的定时任务详解(demo)
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
PHP教程 基本语法
Oct 23 #PHP
You might like
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
2013/06/24 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
浅析PHP开发规范
2018/02/05 PHP
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
python+OpenCV实现图像拼接
2020/03/05 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python如何将图片转换素描画
2020/09/08 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
车间调度岗位职责
2013/11/30 职场文书
服务员自我评价
2014/01/25 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
成绩单家长评语大全
2014/04/16 职场文书
公司活动总结范文
2014/07/01 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
读后感作文评语
2014/12/25 职场文书