PHP与Javascript的两种交互方式

 在网页制作过程中怎样在不刷新页面的情况下使前台页面和
后台CGI页面保持交互一直是个问题。这里介绍两个我在实践中使
用的方法。

    方法一:通过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
---------------------------------------------------------------
<?
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>
---------------------------------------------------------------  

时间: 2024-11-03 20:46:54

PHP与Javascript的两种交互方式的相关文章

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

方法一:通过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 复制代码 代码如下: <

浅析JavaScript中两种类型的全局对象/函数_javascript技巧

这里所说的JavaScript指浏览器环境中的包括宿主环境在内的.第一种是ECMAScript Global Object,第二种是宿主环境(Host)下的全局对象/函数. 一.核心JavaScript内置对象,即ECMAScript实现提供的不依赖于宿主环境的对象 这些对象在程序执行之前就已经(实例化)存在了.ECMAScript称为The Global Object,分为以下几种 1, 值属性的全局对象(Value Properties of the Global Object).有NaN,

JavaScript中两种链式调用实现代码_javascript技巧

一.方法体内返回对象实例自身(this) 复制代码 代码如下: function ClassA(){ this.prop1 = null; this.prop2 = null; this.prop3 = null; } ClassA.prototype = { method1 : function(p1){ this.prop1 = p1; return this; }, method2 : function(p2){ this.prop2 = p2; return this; }, metho

PHP中的多行字符串传递给JavaScript的两种方法_php技巧

PHP和JavaScript都是初学.最近有这么个需求: 比方说有一个PHP的多行字符串: $a = <<<EOF thy38 csdn blog EOF; 传递给JavaScript后要等价于: var c='thy38\n\ csdn\n\ blog'; 因为对这两门语言的理解低到不知如何Google,只好自己摸索出方法两则: 1. 将PHP先转义,然后分割,然后转JSON,然后JavaScript parse,最后用\n拼接. var b=JSON.parse(<?php e

JavaScript判断两种格式的输入日期的正确性的代码_javascript技巧

最简单的 复制代码 代码如下: function isValidDate(dateStr) {             var matchArray = dateStr.match(/^[0-9]+-[0-1][0-9]-[0-3][0-9]$/)             if (matchArray == null) {               alert("Invalid date: " + dateStr);               return false;      

Javascript和Java语言有什么关系?两种语言间的异同比较_java

虽然Javascript与Java有紧密的联系,但却是两个公司开发的不同的两个产品.Java是Sun公司推出的新一代面向对象的程序设计语言.特别适合于Internet应用程序开发:而Javascript是Sun与Netscape公司联合推出的产品,是为了扩展Netscape Navigator功能而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言.且它的前身是Live Script,而Java的前身是Oak语言.下面就对两种语言间的异同作如下比较: (1)基于对象和面向对象 Jav

浅谈在网页上显示日期的两种方法

网页|显示 在上网的时候,经常会在一些网页上看到当前的日期,如"今天是×年×月×日星期×"等字样.为了显示系统当前的日期,一般采用脚本语言VBScript或JavaScript,两种语言有其各自的特点,特别在网页教学中,通过这两种语言的运用和对比,能达到较好的教学效果,现分别介绍它们的设计过程. 一.采用VBScript脚本语言 用VBScript脚本语言来显示系统当前的日期,通常使用其内部提供的日期和时间函数: Date--返回系统日期 Weekday(x)--返回日期x是星期几 Y

浅谈在网页上显示当前日期的两种方法

日期|网页|显示 在上网的时候,经常会在一些网页上看到当前的日期,如:"今天是×年×月×日星期×"等字样.为了显示系统当前的日期,一般采用脚本语言VBScript或JavaScript,两种语言有其各自的特点,特别在网页教学中,通过这两种语言的运用和对比,能达到较好的教学效果,更能达到举一反三的作用,现分别介绍它们的设计过程. 一.采用VBScript脚本语言 用VBScript脚本语言来显示系统当前的日期,通常使用其内部提供的日期和时间函数: Date--返回系统日期 Weekday

网页上显示日期的两种方法

经常会在一些网页上看到当前的日期,如:"今天是×年×月×日星期×"等字样.为了显示系统当前的日期,一般采用脚本语言VBScript或 JavaScript,两种语言有其各自的特点,特别在网页教学中,通过这两种语言的运用和对比,能达到较好的教学效果,更能达到举一反三的作用,现分别介绍它们的设计过程. 一.采用VBScript脚本语言 用VBScript脚本语言来显示系统当前的日期,通常使用其内部提供的日期和时间函数: Date--返回系统日期 Weekday(x)--返回日期x是星期几