cgi+perl+ajax初探

  本来任务要求的是用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","http://www.cnblogs.com/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得到。