老师帮忙看看我这个,顺便我问2个问题~~

老师帮忙看看我这个,顺便我问2个问题~~

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>2-8自由编程</title>
</head>
<body>
	<div>
		<input type="button" id="empBtn"  name ="emp" value="员工列表" style="width: 33%">
		<input type="button" id="jobBtn" name="job" value="职位列表" style="width: 33%">
		<input type="button" id="depBtn" name="dep" value="部门列表" style="width: 33%">
	</div>
	<div id="container" style="text-align: center"></div>
	
	<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
	<script type="text/javascript">
		var btn = document.getElementsByTagName("input");
		for(var i=0;i<btn.length;i++){
			btn[i].onclick = function(){
				var xmlhttp;
				var n = this.name;
				if(window.XMLHttpRequest){
					xmlhttp = new XMLHttpRequest();
				}else{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				var url = "/ajax/emp_list?name=" + n;
				xmlhttp.open("GET" , url , true);
				xmlhttp.send();
				xmlhttp.onreadystatechange = function(){
					if(xmlhttp.readyState == 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 + "<br/>";
						}
						$("#container").html(html);
					}
				}
				
			}
		}
	</script>	
</body>
</html>
package com.imooc.ajax;

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 EmpListServlet
 */
@WebServlet("/emp_list")
public class EmpListServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public EmpListServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String name = request.getParameter("name");
		String json = null;
		if(name.equals("emp")) {
			List<String> empList = new ArrayList<String>();
			empList.add("小红");
			empList.add("小明");
			empList.add("小白");
			json = JSON.toJSONString(empList);
		} else if(name.equals("job")) {
			List<String> jobList = new ArrayList<String>();
			jobList.add("职员");
			jobList.add("经理");
			json = JSON.toJSONString(jobList);
		} else if(name.equals("dep")) {
			List<String> depList = new ArrayList<String>();
			depList.add("人事部");
			depList.add("技术部");
			depList.add("无线事业部");
			json = JSON.toJSONString(depList);	
		}
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().println(json);
	}

}

1、这种写法和置顶的那种写法,那一种好一点呢?

2、var btn = document.getElementsByTagName("input");

        这句话要换成jquery的话该怎么写呢?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、复制运行贴出代码,运行效果没有问题,很棒呐,同学说的与置顶中的写法相比是想与  "AJAX自由编程的一个问题" -->[给每个按钮添加单独的事件]这个写法相比较吧

这两种写法都是可以的呐,代码的实现具有灵活性,每个人都可以根据自己的思路完成这个效果,毕竟"条条大路通罗马" 呐。

2、var btn = document.getElementsByTagName("input");换成JQuery的写法-->var btn = $("input");  同样可以实现获取所有input的效果哦。

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

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师