前端使用ajax向jsp页面请求
xmlHttp = new XMLHttpRequest();
url = "AjaxServer.jsp";
var uname = document.getElementById("name").value;
var pwd = document.getElementById("pwd").value;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
xmlHttp.send("username="+ uname+"&password="+ pwd);
xmlHttp.onload = function(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var data = xmlHttp.responseText;
document.getElementById("message").innerHTML = data;
if (data == "true" ) alert("注册成功");
else alert("用户已存在");
}
}
}
<%@page import="java.io.PrintWriter"%>
<%@page import="javax.interceptor.Interceptor.Priority"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
out.println("true");
%>
</body>
</html>
发现返回的data是整个jsp页面,
image.png
解决方法:
jsp端使用输出。
PrintWriter writer = response.getWriter();
writer.println("true");
writer.close();
image.png
原因:
jsp自带的writer相当于一个带缓冲功能的PrintWriter