ajax请求jsp返回了整个页面(ajax+jsp)

前端使用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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容