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" οnclick="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("用户名或者密码有误");
 }
 %>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值