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