ajax、jsp、关联调用

以下为ajax和jsp之间调用。目前代码有问题,希望高手赐教。

主要有以下问题:

1、callback方法中的status!=200而是==0,不明白为什么?(网上说是本地正确反馈)

2、获取不到jsp中out.print的值,获取到的responseText==“”,但是明明给传值了,不解。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>
 </head>
 <body>
  <button name="aa" value="是否支持ajax" onclick="getHttpRequest();">是否支持ajax</button>
  <script type="text/javascript">

 function getHttpRequest(){
 var xmlHttp;
 try{
  xmlHttp = new XMLHttpRequest();
  alert("非IE获取");
 }catch(e){
  try{
   xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
   alert("IE6.0+获取");
  }catch(e){
    try{
  xmlHttp = new ActiveXObeject("Microsoft.XMLHTTP");
  alert("IE低版本获取");
   }catch(e){
    alert("您的浏览器不支持AJAX");
    return false;
   }
  }
 }
 return xmlHttp;
 }

//-----------------------------------------------------------------------
//打开服务器响应过程函数
//-----------------------------------------------------------------------
function callback(xmlrequest){
 if(xmlrequest.readyState==4 && xmlrequest.status==200){
    var result=xmlrequest.responseText;
    document.getElementById("checkInfo").innerHTML=result;
   }
}
 
 function go(){
  //判断表单输入内容---------------------------------------------
     var form=document.loginForm;
         if(form.username.value==""){  
             document.getElementById("checkInfo").innerHTML="用户名不能为空";
        return;
         }
         if(form.pass.value==""){    
             document.getElementById("checkInfo").innerHTML="密码不能为空";
      return; 
         }
         document.getElementById("checkInfo").innerHTML="正在登录,请稍候......";
         document.getElementById("bt").disabled=true;
  var xmlHttp = getHttpRequest();
 if(xmlHttp == null){
  alert("您的浏览器不支持AJAX");
 }else{
  //构造发送数据字符串
  var url="../deal/getResult.jsp";
  var formData="username="+form.username.value+"&pass="+form.pass.value;
  url= url+ "?"+formData;
  alert(url);
  xmlHttp.open("GET",url,true);
  xmlHttp.onreadystatechange=function(){
  callback(xmlHttp); 
  }
  xmlHttp.send(null);
  }
 }
</script>
<div id="checkInfo">请填写用户名和密码</div>
<form action="" method="post" name="loginForm" >
    <input type="text" name="username" />
    <br />
    <input type="password" name="pass" />
    <br />
<input id="bt" type="button" name="Submit" value="提交验证" onClick="go()">
<br />
</form>

 </body>
</html>

 

调用的jsp判断ajax提交内容,根据提交内容返回结果,显示结果:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.io.PrintWriter"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 

<%
 String username = request.getParameter("username");
 String password = request.getParameter("pass");
 response.setHeader("Charset","UTF-8");
 response.setContentType("text/html; charset=UTF-8");
 if("admin".equals(username) && "admin".equals(password)){
  out.print("恭喜你通过验证");
 }else{
  out.print("用户名或者密码有误");
 }
 %>

你可能感兴趣的:(ajax、jsp)