AJAX傳參從失敗到成功小結:
看了AJAX基礎教程,感覺不錯,但是在向服務器傳遞參數的時候總是會有讓我感到苦惱的問題,
比如下面的代碼:
<SCRIPT type="text/javascript">
?? function createXMLHttpRequest(){
????? if(window.ActiveXObject){
???????? xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");?????
????? }else if(window.XMLHttpRequest){
???????? xmlHttp = new XMLHttpRequest();
????? }
?? }
?? function startRequest(Sid){
????? createXMLHttpRequest();
????? xmlHttp.open("GET","/CountServlet?Sid="+Sid,true);
????? xmlHttp.send(null);
?? }
</SCRIPT>
在服務端的CountServlet的doGet()方法在多次請求之間只會被調用一次,痛苦!!!(難道是異步的問題...)
于是我又改了一下xmlHttp的open方法的參數如下,
xmlHttp.open("POST","/CountServlet,true)
xmlHttp.send("Sid="+Sid);
結果在服務器端的doPost()方法在每次請求都會被正常調用,但是,request.getPrameter("Sid")方法就是怎么也獲得不到參數Sid,
在高手的幫助下,我又再次改了代碼,如下:
xmlHttp.open("POST","/CountServlet?Sid="+Sid,false);
xmlHttp.send(null);
嘿,還真的,牙好,胃口就好,入口見效,doPost()方法能正常被調用,參數也傳得到,具體是什么原因,我還在學習之中...