附件上传不了,只有粘贴了:jsp+jquery+ajax的一个简单的实例,其中login.jsp首行为空行时,结果就错误了,实在不可思议??
login.htm
<html> 
<head> <script src="js/jquery.js" type="text/javascript"> </script> 
<script src="js/login.js" type="text/javascript"> </script> 
<script src="lib/jquery.tablesorter.js" type="text/javascript"> </script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style type="text/css"> 
body { font:12px/1.6em "宋体" } 
ul { list-style:none; } 
li { margin-top:10px; } 
</style>
</head><body>
<h3>会员登录 </h3> 
<div id="login"> 
<form method="post" action="login.asp" id="form2"> 
<div id="confirm">&nbsp;</div>
    <ul>
      <a href = "#">aa </a>
      <li>名字: <input type="text" id="user" size="16" maxlength="20"></li> 
      <li>密码: <input type="password" id="pass" size="16" maxlength="20"></li> 
      <li>
        <input type="submit" style="border:0" />
      </li>
    </ul> 
</form> 
</div> 
</body> </html> login.js
$(document).ready 
(
function() 
{
$("#form2").submit 
(
  function() 
{
login();
return false;
}
);
}
);function login() 
{
var user = $("#user").val(); 
var pass = $("#pass").val(); 
if (user == "") 

$("#confirm").html("请输入登录用户名"); 
$("#user").focus(); 
return false; 
}
if(pass == "") 

$("#confirm").html("请输入登录密码"); 
$("#pass").focus(); 
return false; 
}

$.ajax({ 
type: "POST",
url: "login.jsp",
data: "user=" + user + "&psw=" + pass,
beforeSend: function(){
$("#confirm").html("登录中,请稍候......");
},
  
success: function(msg){
alert(msg);
if(msg == "success"){ 
$("#confirm").html("登录成功,欢迎" + user + "回来!正在进入你的空间......"); // window.location.href("success.htm");
// document.location.href = "success.htm";
}else { 
$("#confirm").html("没有此用户或者密码不正确!"); 
}
// $("#confirm").html(msg);
}
});
}login.jsp
<%String id  = (String)request.getParameter("user");
String p = (String)request.getParameter("psw");//out.print(id+' ' +p);if( (id!=null && id.equals("admin")) && (p!=null && p.equals("admin")) )
{
out.print("success");
}
else
{
out.print("failed");
}%>

解决方案 »

  1.   

    能详细说一下
    没有空行的时候什么效果
    加了一行空行后出现什么错误吗我刚学jquery,学习
      

  2.   

    呵呵,不明白你为什么会出现错误
    编译的错误吧
    重新编译一下有可能就对了
    jsp第一行是空行什么都不影响的
    不可能出现错误
      

  3.   

    知道为何会结果不同了,没有空行时login.jsp输出的只有"success",有空行或其他字符时login.jsp输出所有其他字符和success,而login.js的比较“if(msg == "success"){ 
    ”肯定就不匹配了。现在的问题是肯定要在login.jsp中写其他代码,如何让login.js中的ajax接收只需要的返回值????
      

  4.   

    搞定,在输出返回值之前先清除所有其他输出:
    out.clear();
    out.print("success");out.clear();
    out.print("failed");看似简单,处处机关,体现本人对jsp等的基础不牢
      

  5.   

    学习了,
    以前我遇到类似的问题,干脆不用==判断,而是用indexOf方法判断是否出现success