Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

在SupeSite中如何使用AJAX

[复制链接]
lidq.jingwu 发表于 2009-10-10 16:29:53 | 显示全部楼层 |阅读模式
节前一个位网友问如何在 SupeSite 中使用 AJAX 没有正面回答,在这里给出一个小例子。

AJAX 中一种将无刷新向服务器请求数据的技术,要运用好它必须有较强的 DIV+CSS+JS 基础,这个小例子只说明了如何运用 AJAX 向服务器发送请求,并接收数据。

1.在ss的安装目录下面新建tester.php文件,文件中代码如下:
  1. <?php
  2.         /*说明:AJAX向服务器发送请求,服务器接收到请求后,进行处理,最后必须将内容拼成字符串或XML的形式输出,否则浏览器接收不到数据
  3.         */
  4.         if(!empty($_GET['get'])){
  5.                 $str        =        $_GET['get'];
  6.                 $str = iconv("gbk//IGNORE", "utf-8//IGNORE", $str);
  7.                 echo $str;
  8.         }

  9.         if(!empty($_POST[post])){
  10.                 $str        =        $_POST[post];
  11.                 $str = iconv("gbk//IGNORE", "utf-8//IGNORE", $str);
  12.                 echo $str;
  13.         }
  14. ?>
复制代码
2、新建一个 a.php文件,做为前台的页面,代码如下(代码是加了注释了,多看注释):
  1. <?php
  2.         include('./common.php');
  3. ?>
  4. <html>
  5. <head>
  6. <script src="<?php echo S_URL;?>/include/js/ajax.js" type="text/javascript" language="javascript"></script>
  7. <script src="<?php echo S_URL;?>/include/js/common.js" type="text/javascript" language="javascript"></script>
  8. </head>
  9. <body>
  10. 测试get方式
  11. <div id="contentget" onclick="testget('contentget')">
  12. 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
  13. </div>
  14. <br>
  15. <br>
  16. <br>
  17. <br>
  18. <br>
  19. 测试post方式
  20. <div id="contentpost" onclick="testpost('contentpost','post=bbb')">
  21. 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
  22. </div>
  23. <script type="text/javascript">
  24. <!--
  25. function testget(objname) {
  26. //通过 Ajax 方法来获得一个对象,此对象中包含了 AJAX 的实例对象,但它本身并不是 AJAX
  27. //第一个参数只有两个可供选择的值:HTML,XML,我们是用 HTML 方式
  28. //第二个参数为显示服务器返回的数据的html标签的ID,如上面 div 块的 ID
  29.         var x = new Ajax('HTML', objname);
  30. //通过 get 方式获取数据,第一个参数是请求的URL,注意要将此url改成自己的
  31. //第二个参数是一个方法,方法的参数 s 即为服务器返回的数据,方法内部定义对返回的数据如何处理
  32.         x.get('http://localhost/s7/s/tester.php?get=aaa', function(s){
  33. //下面三句为获得标签 ID 所对应的对象,并将返回的数据写入标签内。
  34.                 var obj = $(objname);
  35.                 obj.style.display = '';
  36.                 obj.innerHTML = s;
  37.         });
  38. }
  39. function testpost(objname,postcontent) {
  40. //通过 Ajax 方法来获得一个对象,此对象中包含了 AJAX 的实例对象,但它本身并不是 AJAX
  41. //第一个参数只有两个可供选择的值:HTML,XML,我们是用 HTML 方式
  42. //第二个参数为显示服务器返回的数据的html标签的ID,如上面 div 块的 ID
  43.         var x = new Ajax('HTML', objname);
  44. //通过 post 方式获取数据,第一个参数是请求的 URL ,注意要将此url改成自己的
  45. //第二个参数是 URL 后面的参数,如 URL 是http://localhost/s7/s/tester.php?post=bbb,那么第二个参数的值就是 post=bbb
  46. //第三个参数是一个方法,方法的参数 s 即为服务器返回的数据,方法内部定义对返回的数据如何处理
  47.         x.post('http://localhost/s7/s/tester.php', postcontent,function(s){
  48. //下面三句为获得标签 ID 所对应的对象,并将返回的数据写入标签内。
  49.                 var obj = $(objname);
  50.                 obj.style.display = '';
  51.                 obj.innerHTML = s;
  52.         });
  53. }
  54. -->
  55. </script>
  56. </body>
  57. </html
复制代码
注意:在a.php的代码中向后台发送请求时的url(x.get与x.post的第一个参数值),要改成自己的。

在浏览器中访问a.php文件,界面如图:


点击“测试get方式”下面的文字,效果如图:

点击“测试post方式 ”下面的文字,效果如图:


效果展示完了,具体的还要灵活运用。

评分

1

查看全部评分

littlehz 发表于 2009-10-10 21:16:04 | 显示全部楼层
有深度,收藏下
回复

使用道具 举报

benba 发表于 2009-10-11 14:16:51 | 显示全部楼层
实用的例子.我也收了!!!
回复

使用道具 举报

yayapi 发表于 2009-10-12 11:35:17 | 显示全部楼层
好好学习了
回复

使用道具 举报

miqi2 发表于 2009-11-5 12:31:23 | 显示全部楼层
记录下啊..
回复

使用道具 举报

abcnic18 发表于 2009-11-6 16:41:20 | 显示全部楼层
支持了!!!
回复

使用道具 举报

忧伤啊忧伤 发表于 2010-1-17 10:21:20 | 显示全部楼层
收啊收,我也收。
回复

使用道具 举报

dafei2009 发表于 2010-3-6 09:44:30 | 显示全部楼层
不错,学习了,
回复

使用道具 举报

kingly10 发表于 2010-3-31 10:53:12 | 显示全部楼层
学习。。。
回复

使用道具 举报

huytang 发表于 2010-4-26 21:52:41 | 显示全部楼层
回复 1# lidq.jingwu


    能给SS做个AJAX回复吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 01:31 , Processed in 0.042055 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表