Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91953
  • 博文数量: 20
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-27 18:43
文章分类

全部博文(20)

文章存档

2011年(20)

分类: 系统运维

2011-10-16 15:14:33

       本来任务要求的是用perl实现cgi脚本即可。但是普通的方法都会刷新页面。我想要的结果是不刷新页面,在原页面上进行交互。即通过cgi返回的信息可以作为原网页的部分内容。所以这需要用到ajax。
很遗憾,在网上没有多少相关的资料。而且手边的教科书上没有说到perl和ajax的结合运用。自己胡乱摸索了一下,已经成功实现不离开页面将信息传给服务器端的cgi脚本,并将服务器端传回来的反馈信息得到,通过javascript动态改变页面内容。但是一个头疼的问题是,通过innerHTML改变div的内容后,页面会自动刷新。使得反馈信息在原页面上一闪而过。没有解决。懒得弄得了。暂时吧源码贴在这。
  1. <script type="text/javascript">
  2.     function loadXMLDoc()
  3.     {
  4.     var xmlhttp;
  5.     if (window.XMLHttpRequest)
  6.      {// code for IE7+, Firefox, Chrome, Opera, Safari
  7.      xmlhttp=new XMLHttpRequest();
  8.      }
  9.     else
  10.      {// code for IE6, IE5
  11.      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  12.      }
  13.      var url="";
  14.      var name=document.getElementsByName("name")[0].value;
  15.      var age=document.getElementsByName("age")[0].value;
  16.      var gender=document.getElementsByName("gender")[0].value;
  17.      var email=document.getElementsByName("email")[0].value;
  18.      url="?name="+name+"&age="+age+"&gender="+gender+"&email="+email;
  19.      alert(url);
  20.     xmlhttp.open("GET","../../cgi-bin/infoQuesAdd1.pl"+url,false);
  21.     xmlhttp.send(null);
  22.     //document.getElementById("displayboard").innerHTML=xmlhttp.responseText;
  23.     alert(xmlhttp.responseText);
  24.     }
  25. </script>
 
       通过ajax对象将获得的信息通过GET方法传到服务器端。服务器端通过perl脚本的param函数分析参数并作相应处理,且做出反馈。反馈信息由xmlhttp.responseText得到。
阅读(2243) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~