一个空行,执行结果截然不同?

gothing 2009-04-09 08:25:35
附件上传不了,只有粘贴了: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"> </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");
}

%>
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
aloie 2009-04-09
  • 打赏
  • 举报
回复
学习了,
以前我遇到类似的问题,干脆不用==判断,而是用indexOf方法判断是否出现success
gothing 2009-04-09
  • 打赏
  • 举报
回复
搞定,在输出返回值之前先清除所有其他输出:
out.clear();
out.print("success");

out.clear();
out.print("failed");

看似简单,处处机关,体现本人对jsp等的基础不牢
gothing 2009-04-09
  • 打赏
  • 举报
回复
知道为何会结果不同了,没有空行时login.jsp输出的只有"success",有空行或其他字符时login.jsp输出所有其他字符和success,而login.js的比较“if(msg == "success"){
”肯定就不匹配了。

现在的问题是肯定要在login.jsp中写其他代码,如何让login.js中的ajax接收只需要的返回值????
blueqxxp 2009-04-09
  • 打赏
  • 举报
回复
呵呵,不明白你为什么会出现错误
编译的错误吧
重新编译一下有可能就对了
jsp第一行是空行什么都不影响的
不可能出现错误
zhj92lxs 2009-04-09
  • 打赏
  • 举报
回复
什么错
  • 打赏
  • 举报
回复
能详细说一下
没有空行的时候什么效果
加了一行空行后出现什么错误吗

我刚学jquery,学习

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧