首页 | PHP资讯 | 技术专栏 | 资源共享 | PHP培训 | PHP职场 | 图书 | PHP ON WIN | PHP圈子
返回列表 回复 发帖

[ZT]老技术新外衣 如何设计一个包含Ajax技术的PHP网页

[ZT]老技术新外衣 如何设计一个包含Ajax技术的PHP网页

Ajax=Asynchronous JavaScript + XML
  * XHTML 和 CSS 的标准表示;
  * 使用 DOM(Document Object Model)进行动态显示及交互;
  * 使用 XML 和 XSLT 进行数据交换及相关操作;
  * 使用 XMLHttpRequest 进行异步数据查询、检索;
  * 使用 JavaScript 将所有的东西绑定在一起
在制作之前,大家先到这里去下载一个ZIP包。
  http://www.modernmethod.com/sajax/download.phtml
  下载后,我们要用到其中的Sajax.php那个关键的文件。制作Ajax技术的PHP网页,我们要设计3个部分的内容。

1、PHP的函数
  在下载的ZIP包中,大家应该可以看到那个乘法运算的例程。在此步骤中我们把要在PHP代码中处理的事情写在一个函数中。

PHP代码:
  1. function multiply($x, $y) {
  2. return $x * $y;
  3. }
复制代码

此函数很简单,大家都看得懂吧,就是做一个乘法运算而已。

2、HTML的Input
  作为一个乘法运算,自然而然的要在页面中显示几个Input,让用户输入数字。因此,我们写出如下代码。



代码:
  1. <input type="text" name="x" id="x" value="2" size="3">*
  2. <input type="text" name="y" id="y" value="3" size="3">
  3. =
  4. <input type="text" name="z" id="z" value="" size="3">
  5. <input type="button" name="check" value="Calculate"
  6. onclick="do_multiply(); return false;">
复制代码

由此可以看出,这里有3个text,一个x,一个y,作为运算的2个数组,z为乘法的积。为了保持和第1步中函数的参数变量保持一致,我们起了同样的x和y的名字。z用来显示运算结果。然后在第4个button中我们调用了一个定义的函数do_multiply(),注意函数名与我们在第1步中的PHP函数名有些类似,区别是在其名称前面加了一个“do_”前缀。

3、Javascript的函数
  为了让第二步中Input输入的结果提交给第一步中的那个PHP函数,我们要写如下的Javascript代码,也就是第二步中出现的函数do_multiply()。



代码:
  1. function do_multiply() {var x, y;

  2. x = document.getElementById("x").value;//获取X的值
  3. y = document.getElementById("y").value;//获取Y的值
  4. x_multiply(x, y, do_multiply_cb);

  5. }
复制代码

在此函数中,我们可以看到函数在获取到Input输入的结果后执行了一个x_multiply()函数。此函数的参数应该和第一步中我们定义的PHP函数的参数保持一致,最后附加的do_multiply_cb为Ajax在调用了PHP的函数后要执行的Javascript函数,我们定义此函数名为do_multiply_cb,并对此函数作如下的定义。

  1. function do_multiply_cb(z) {document.getElementById("z").value = z;

  2. }
复制代码


此函数有一个参数,返回值直接放入Z中,用以显示返回的结果。


  至此,Ajax设计网页的三个关键步骤制作完毕,然后,我们用搭积木的方式把他们拼接在一起,就大功告成了!

<?
require("Sajax.php");

[步骤1的PHP函数]

sajax_init();
sajax_export("multiply");//声明需要用Ajax关联的函数
sajax_handle_client_request();
?>

<script>
<?
sajax_show_javascript();
?>
[步骤3的Javascript函数]
</script>

<body>
[步骤2的HTML代码]
</body>


运行结果在这里:http://bbs.phpso.com/upload/example_multiply.php

PHP课堂

[ 本帖最后由 jejwe 于 2005-12-1 11:30 编辑 ]

楼主转贴?
楼主是伯汉公司的??
我加入一个不错的PHP群: groupphp@hotmail.com

TOP

转的伯汉的文章,下面已经提示过是PHP课堂。就是M的网站,这里就是收集一些转载或原创的好文章的。
另外你的名字和PHPWIND的开发者的名字很像啊,经常想你是不是他们

[ 本帖最后由 jejwe 于 2005-12-1 11:35 编辑 ]

TOP

写得很好,这样理解,好像ajax很简单!!!!!!!!!!!!!!!

TOP

返回列表