Daniel Mao 2015-05-27 18:41 采纳率: 21.1%
浏览 22613
已结题

servlet该如何返回值给AJAX呢?

js代码
//声明XMLHttpRequest对象
var xmlrequest;

//初始化XMLHttpRequest
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlrequest = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlrequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlrequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){

        }
    }
}

}

//定义回调函数
function processResponse(){
//响应完成
if(xmlrequest.readyState == 4){
//响应正常
if(xmlrequest.status == 200){
var head = xmlrequest.responseText;
alert(head);
}
}
}

//事件处理函数
function change(){
//初始化XMLHttpRequest对象
createXMLHttpRequest();

//设置请求的URI
var uri = "servlet/LoginServlet";

//打开与服务器响应地址的连接
xmlrequest.open("POST", uri, true);

//设置请求头
xmlrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//设置处理响应的回调函数
xmlrequest.onreadystatechange = processResponse;
var account = document.form.account.value;
var password = document.form.password.value;
//发送请求
xmlrequest.send("account=" + account + "&password=" + password);

}

servlet代码
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("post被触发了");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

    String account = request.getParameter("account");
    String password = request.getParameter("password");
    System.out.println(account);
    System.out.println(password);
    PrintWriter out = response.getWriter();
    out.print("124578");

}

配置文件
<?xml version="1.0" encoding="UTF-8"?>

shangGou

LoginServlet
servlet.LoginServlet


LoginServlet
/servlet/LoginServlet

请求页面:图片说明
响应后的页面:图片说明

请大神帮我解答解答,AJAX向服务器发送请求后,servlet要如何响应页面才不会刷新呢?

  • 写回答

13条回答

  • bdmh 移动开发领域优质创作者 2015-05-27 20:59
    关注

    你用jquery的ajax,有个success回调,返回数据就会触发

    评论

报告相同问题?

问题事件

  • 请详细说明问题背景 4月26日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?