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 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
深入PHP获取随机数字和字母的方法详解
Jun 06 PHP
php中stream(流)的用法
Mar 25 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
thinkPHP查询方式小结
Jan 09 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 PHP
PHP Trait功能与用法实例分析
Jun 03 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(5) 类和对象
2010/02/16 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
appium+python adb常用命令分享
2020/03/06 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
儿媳婚宴答谢词
2014/01/14 职场文书
给护士表扬信
2014/01/19 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书