前端使用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>
發(fā)現(xiàn)返回的data是整個jsp頁面,
image.png
解決方法:
jsp端使用輸出汛聚。
PrintWriter writer = response.getWriter();
writer.println("true");
writer.close();
image.png
原因:
jsp自帶的writer相當(dāng)于一個帶緩沖功能的PrintWriter