2-8自由编程
来源:2-8 自由编程
qq_慕UI0173712
2019-09-26 00:41:28
不知道为什么这样做就会出粗,不太懂这里点击按钮的时候,就能出现相应的内容
这是test2.html的代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<input type="submit" value="A" id="A1"/>
<input type="submit" value="B" id="B1"/>
<input type="submit" Value="C"/>
<div id="peo"></div>
<body>
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
//1.创建XmlHttpResquest
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
//2.发送Ajax请求
xmlhttp.open("GET","/jQuery/test2_list",true);
xmlhttp.send();
//3.处理服务器响应
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState ==4&& xmlhttp.status ==200){
var textA= xmlhttp.responseText;
console.log(textA);
var json=JSON.parse(textA);
console.log(json);
var html="";
for (var i=0;i<json.length;i++){
var people =json[i];
html=html+"<h2>"+people+"</h2>";
}
//-----------------
var textB= xmlhttp.responseText;
console.log(textB);
var jsonB=JSON.parse(textB);
console.log(jsonB);
var htmlB="";
for (var i=0;i<jsonB.length;i++){
var peopleB =jsonB[i];
htmlB=htmlB+"<h2>"+peopleB+"</h2>";
}
$("#A1").on("click",function(){
document.getElementById("peo").innerHTML=html;
})
$("#B1").on("click",function(){
document.getElementById("peo").innerHTML=htmlB;
})
}
}
</script>
</body>
</html>这是test2Servlet的代码
package com.winking.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 test2Servlet
*/
@WebServlet("/test2_list")
public class test2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public test2Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List listA=new ArrayList();
listA.add("A1");
listA.add("A2");
listA.add("A3");
List listB=new ArrayList();
listB.add("B1");
listB.add("B2");
listB.add("B3");
List listC=new ArrayList();
listC.add("C1");
listC.add("C2");
listC.add("C3");
String jsonA =JSON.toJSONString(listA);
System.out.print(jsonA);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println(jsonA);
//
String jsonB =JSON.toJSONString(listB);
System.out.print(jsonB);
// response.setContentType("text/html;charset=UTF-8");
response.getWriter().println(jsonB);
//
// String jsonC =JSON.toJSONString(listC);
// System.out.print(jsonC);
// response.setContentType("text/html;charset=UTF-8");
// response.getWriter().println(jsonC);
}
}1回答
同学你好,1、这里我们可以为每个按钮添加一个单击事件,在这个单击事件中发送ajax请求,得到响应数据,将数据展示到页面中,但是同学贴出的代码是在一个ajax请求中添加事件,这样的写法在解析时,可能出现问题,这里同学可以参考https://class.imooc.com/course/qadetail/124368 这个问答中的代码来修改一下自己代码。
获取当前的按钮,添加单击事件,在当前事件中发送ajax请求,得到响应数据,展示到页面
2、注意按钮为submit是form的提交按钮,这里建议改为button,一个普通按钮。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题