2013-08-29 80 views
0

我有wriiten欢迎屏幕,基本上使用下面的javascript调用creditCheck servlet。在servlet中,有一种方法可以检查用户名和密码。 Servlet正确返回值。警报不会在javascript内的servlet重写之后生成。然而,如果执行简单的servlet(不做任何事情,只是打印变量),它会生成警报。Javascript不返回servlet响应

下面

是JSP文件中我的javascript:

############################################ 

<script type="text/javascript"> 

        function getXmlHttpRequestObject(){ 
         var xmlHttp = false; 
         if (window.XMLHttpRequest){ 
          return new XMLHttpRequest(); //To support the browsers IE7+, Firefox, Chrome, Opera, Safari 
         } 
         else if(window.ActiveXObject){ 
          return new ActiveXObject("Microsoft.XMLHTTP"); // For the browsers IE6, IE5 
         } 
         else { 
         alert("Error due to old verion of browser upgrade your browser"); 
         } 
        } 



      var xmlhttp = new getXmlHttpRequestObject(); //xmlhttp holds the ajax object 
      function servletPost() { 
       if(xmlhttp) { 
       var username = document.getElementById("uname"); 
       var password = document.getElementById("pass"); 
       xmlhttp.open("POST","CredCheck",true); 
       xmlhttp.onreadystatechange = handleServletPost; 
       req.onreadystatechange = callback; 

       xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
       xmlhttp.send("uname=" + username.value + "&pass=" + password.value); 

       } 
      } 

      function handleServletPost() { 
       if (xmlhttp.readyState == 4) { 
        if(xmlhttp.status == 200) { 
         alert(xmlhttp.responseText); 
        } 
        else { 
         alert("Ajax calling error"); 
        } 
       } 
      } 
    </script> 
+0

你的回调函数在哪里?一般来说,有JS库为你处理所有的AJAX,所以你通常不会自己写? –

回答

0

我已经改变xmlhttp.open( “POST”, “CredCheck”,真正的);到

xmlhttp.open(“POST”,“CredCheck”,false); xmlhttp.onreadystatechange = handleServletPost;