java,ajax问题,回调函数返回的值能显示无法获取

回调函数,获取的data,能显示出来,但是无法在if里接收。我试过data==“5”,还有out.print("5");,都不行。请问是为什么?我看演示视频里像我这样就能... 回调函数,获取的data,能显示出来,但是无法在if里接收。
我试过data==“5” ,还有out.print("5");,都不行。
请问是为什么?
我看演示视频里像我这样就能接收到,我却不可以。
图片有误,我给改成5了。图片上的4可以无视。。
展开
 我来答
nefu_20061617
推荐于2016-02-09 · TA获得超过2342个赞
知道大有可为答主
回答量:1064
采纳率:72%
帮助的人:1454万
展开全部

获取的data的内容是整个网页的源码,除了5,还有前面的</head> ,后面的<body>等内容。

应该在out.print()之前用out.clear()清掉前面的源码,之后用return不执行后面的源码。

String username = request.getParameter("username");
String password = request.getParameter("username");
if ("admin".equals(username) && "0000".equals(password)) {
out.clear();
out.print(5);
return;
} else {
out.clear();
out.print("登录失败");
return;
}
追问

你说对了一半。

用out.clear确实能清除前面的,但加上return就无法运行了,服务器在控制台抱错,无法执行。

只用clear不抱错,但是变成上面的东西(我加入alert(data)取得的);

追答

原先写错了,有一个password写成username了。

也可能页面缓存了,得到的以前的缓存结果。

把jsp文件最后的%>后面的内容全删掉,%>后面也不要加空格或换行。

response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-control", "no-cache");
response.setHeader("Expires", "0");//这三行是不缓存
String username = request.getParameter("username");
String password = request.getParameter("password");
out.clear();
if ("admin".equals(username) && "0000".equals(password)) {
out.print(5);
} else {
out.print("登录失败");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式