为什么报错,和视频代码一样呀
<script type="text/javascript"> //1.创建XmlHttpRequest var XmlHttp; if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } //2.发送Ajax请求 xmlHttp.open("GET","/demo_ajax/firstServlet",true); xmlHttp.send(); //3.处理服务器请求 xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ var text = xmlHttp.responseText; console.log(text); var json=JSON.parse(text); console.log(json); } } </script>
24
收起
正在回答
3回答
同学你好,同学运行报错是因为FirstServlet类中,如下图:代码有错
修改建议:建议同学将本行代码删除,json对象转换格式如同学的拼接方式是不正确的,不建议自己在后台拼接信息。
删除后代码可正常运行。运行效果如下:
关于代码规范,类名首字母大写,同学要注意修改。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
weixin_慕设计9597346
2020-04-14 17:49:11
package com.imooc.demo; 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 firstServlet */ @WebServlet("/firstServlet") public class firstServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public firstServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List list=new ArrayList(); list.add(new Employee("小红","经理","人事部")); list.add(new Employee("小明","职员","技术部")); list.add(new Employee("小白","经理","无线事业部")); String json=JSON.toJSONString(list); System.out.println(json); response.setContentType("text/html;charset=UTF-8"); response.getWriter().println(json); response.getWriter().append("Served at: ").append(request.getContextPath()); } }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> input{ width:30%; } </style> <title>Insert title here</title> </head> <body> <input type="button" value="员工列表"> <input type="button" value="职位列表"> <input type="button" value="部门列表"> <script type="text/javascript"> //1.创建XmlHttpRequest var XmlHttp; if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } //2.发送Ajax请求 xmlHttp.open("GET","/demo_ajax/firstServlet",true); xmlHttp.send(); //3.处理服务器请求 xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ var text = xmlHttp.responseText; console.log(text); var json=JSON.parse(text); console.log(json); } } </script> </body> </html>
好帮手慕小琪
2020-04-14 17:29:41
同学你好,老师只能看到部分代码,猜测是同学的index.html中的发送ajax请求时xmlHttp.open()方法中发送的地址有错。
修改建议:如果同学代码与视频中老师代码相同,xmlHttp.open()方法中发送的地址应为同学的项目名+视频中NewsListServlet类中@WebServlet("/news_list")的括号中双引号中的内容。
例如同学项目名为:demo_ajax,那么xmlHttp.open()方法应为:xmlHttp.open("GET","/demo_ajax/news_list",true);
运行代码如下:
如果没有解决同学的问题,建议同学将相关联的全部代码都粘贴到问答区,方便老师测试同学的代码。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星