请老师看看问题

来源:2-8 自由编程

披着鱼皮的猫

2019-05-06 14:22:10

点击按钮之后没反应,是哪里拼写错误了吗

Employees.java

public class Employees {
 private String name;
 private String position;
 private String depart;
 //构造方法
 public Employees(String name, String position, String depart) {
  super();
  this.name = name;
  this.position = position;
  this.depart = depart;
 }
 public Employees() {
  
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPosition() {
  return position;
 }
 public void setPosition(String position) {
  this.position = position;
 }
 public String getDepart() {
  return depart;
 }
 public void setDepart(String depart) {
  this.depart = depart;
 }
 
  
 
}

EmployeeServlet

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
/**
 * Servlet implementation class EmployeeServlet
 */
@WebServlet("/Servlet")
public class EmployeeServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public EmployeeServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  List<Employees> list = new ArrayList<Employees>();
  list.add(new Employees("小红","职员","人事部"));
  list.add(new Employees("小明","职员","技术部"));
  list.add(new Employees("小白","经理","无线事业部"));
  String json = JSON.toJSONString(list);
  System.out.println(json);
  response.setContentType("text/html;charset=UTF-8");
  response.getWriter().println(json);
 }
}

employee.jsp

<%@ 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>
<button id="btn1">员工列表</button>
<button id="btn2">职位列表</button>
<button id="btn3">部门列表</button>
<div id="con"></div>

<script type="text/javascript">
 //1.创建XmlHttpRequesr对象
 var xmlHttp;
 xmlhttp = new XMLHttpRequest();
 console.log(xmlhttp);
 //2.发送Ajax请求
 xmlhttp.open("GET","/Ajax/Servlet",true);
 xmlhttp.send();
 //3.处理服务器响应
 
 //员工姓名
 xmlhttp.onreadyStatechange=function() {
  if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
   var text = xmlhttp.responseText;
   var json = JSON.parse(text);
   
   document.getElementById("btn1").onclick=function() {
    var html="";
    for(var i=0;i<json.length;i++) {
     html = html+json[i].name+"</br>";
    }
    document.getElementById("con").innerHTML = html;
    
   }
   }
  
 }
 //员工职位
 xmlhttp.onreadyStatechange=function() {
  if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
   var text = xmlhttp.responseText;
   var json = JSON.parse(text);
   
   document.getElementById("btn2").onclick=function() {
    var html="";
    for(var i=0;i<json.length;i++) {
     html = html+json[i].position+"</br>";
    }
    document.getElementById("con").innerHTML = html;
    
   }
   }
  
 }
 //部门列表
 xmlhttp.onreadyStatechange=function() {
  if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
   var text = xmlhttp.responseText;
   var json = JSON.parse(text);
   
   document.getElementById("btn3").onclick=function() {
    var html="";
    for(var i=0;i<json.length;i++) {
     html = html+json[i].depart+"</br>";
    }
    document.getElementById("con").innerHTML = html;
    
   }
   }
  
 }

</script>
</body>
</html>


写回答

5回答

好帮手慕柯南

2019-05-07

同学你好!同学的代码有两处有问题呢

  1. 点击事件写错了

    http://img.mukewang.com/climg/5cd0e92c0001196704280117.jpg

    应该是如下写法:

    http://img.mukewang.com/climg/5cd0e9540001081c07230090.jpg

  2. 同学检验状态是写错了呢,应该是readyState同学写成了readyStatechange

    http://img.mukewang.com/climg/5cd0e9a700010b2004080060.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

1

披着鱼皮的猫

提问者

2019-05-06

55555再次调整了之后还是没有反应,控制台也不给我报错55

http://img.mukewang.com/climg/5cd0338f00019ed319200962.jpg

employee.jsp

<%@ 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>
<button id="btn1">员工列表</button>
<button id="btn2">职位列表</button>
<button id="btn3">部门列表</button>
<div id="con"></div>

<script type="text/javascript">
 //1.创建XmlHttpRequesr对象
 var xmlHttp;
 xmlhttp = new XMLHttpRequest();
 console.log(xmlhttp);
 
 //员工姓名
  document.getElementById("btn1").click(function(){    
   //2.发送Ajax请求
   xmlhttp.open("GET","/Ajax/Servlet",true);
   xmlhttp.send();
   //3.处理服务器响应
   xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
     var text = xmlhttp.responseText;
     var json = JSON.parse(text);
   var html="";
   for(var i=0;i<json.length;i++){
    var emp = json[i];
    html = html+emp.name+"</br>";
   }
   document.getElementById("con").innerHTML = html; 
   }
   }
 });  
 
  //员工职位
  document.getElementById("btn2").click(function() {    
   //2.发送Ajax请求
   xmlhttp.open("GET","/Ajax/Servlet",true);
   xmlhttp.send();
   //3.处理服务器响应
   xmlhttp.onreadystatechange=function() {
    if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
     var text = xmlhttp.responseText;
     var json = JSON.parse(text);
   var html="";
   for(var i=0;i<json.length;i++) {
    var emp = json[i];
    html = html+emp.position+"</br>";
   }
   document.getElementById("con").innerHTML = html; 
   }
   }
 });
   //部门列表
   document.getElementById("btn3").click(function() {    
    //2.发送Ajax请求
    xmlhttp.open("GET","/Ajax/Servlet",true);
    xmlhttp.send();
    //3.处理服务器响应
    xmlhttp.onreadystatechange=function() {
     if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
      var text = xmlhttp.responseText;
      var json = JSON.parse(text);
    var html="";
    for(var i=0;i<json.length;i++) {
     var emp = json[i];
     html = html+emp.depart+"</br>";
    }
    document.getElementById("con").innerHTML = html; 
    }
    }
  });  
</script>
</body>
</html>

0

好帮手慕柯南

2019-05-06

同学你好!同学的括号匹配有问题呢,建议同学仔细检查一下

http://img.mukewang.com/climg/5ccfeaef0001fcba04740214.jpg

同学以后遇到类似点击没有反映的问题,可以先看一下浏览器的控制台是否报错,然后根据报错信息排查原因,这样可以提高同学发现和解决问题的能力。有助于同学学习效果的提升~祝学习愉快~

0

披着鱼皮的猫

提问者

2019-05-06

调整了一下顺序之后还是点击按钮没有反应

employee.jsp

<%@ 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>
<button id="btn1">员工列表</button>
<button id="btn2">职位列表</button>
<button id="btn3">部门列表</button>
<div id="con"></div>

<script type="text/javascript">
 //1.创建XmlHttpRequesr对象
 var xmlHttp;
 xmlhttp = new XMLHttpRequest();
 console.log(xmlhttp);
 
 //员工姓名
  document.getElementById("btn1").onclick=function() {    
   //2.发送Ajax请求
   xmlhttp.open("GET","/Ajax/Servlet",true);
   xmlhttp.send();
   //3.处理服务器响应
   xmlhttp.onreadyStatechange=function() {
    if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
     var text = xmlhttp.responseText;
     var json = JSON.parse(text);
   var html="";
   for(var i=0;i<json.length;i++) {
    html = html+json[i].name+"</br>";
   }
   document.getElementById("con").innerHTML = html; 
   }
   }
  
 }
  //员工职位
  document.getElementById("btn2").onclick=function() {    
   //2.发送Ajax请求
   xmlhttp.open("GET","/Ajax/Servlet",true);
   xmlhttp.send();
   //3.处理服务器响应
   xmlhttp.onreadyStatechange=function() {
    if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
     var text = xmlhttp.responseText;
     var json = JSON.parse(text);
   var html="";
   for(var i=0;i<json.length;i++) {
    html = html+json[i].position+"</br>";
   }
   document.getElementById("con").innerHTML = html; 
   }
   }
   //部门列表
   document.getElementById("btn3").onclick=function() {    
    //2.发送Ajax请求
    xmlhttp.open("GET","/Ajax/Servlet",true);
    xmlhttp.send();
    //3.处理服务器响应
    xmlhttp.onreadyStatechange=function() {
     if(xmlhttp.readyStatechange==4&&xmlhttp.status==200) {
      var text = xmlhttp.responseText;
      var json = JSON.parse(text);
    var html="";
    for(var i=0;i<json.length;i++) {
     html = html+json[i].depart+"</br>";
    }
    document.getElementById("con").innerHTML = html; 
    }
    }
</script>
</body>
</html>


0

好帮手慕柯南

2019-05-06

同学你好!要点击按钮之后再去发送ajax请求哦,可参考如下代码:http://img.mukewang.com/climg/5ccfd7d20001dd1c05490292.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 10204 问题

查看课程