response.getWriter().println(json);这一句为什么不会再输出了?
来源:2-7 利用Ajax实现新闻列表
mixiaofan
2019-11-21 13:02:57
package com.imooc.ajax; import com.alibaba.fastjson.JSON; 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 java.io.IOException; import java.util.ArrayList; import java.util.List; @WebServlet(urlPatterns = "/news_list") public class NewsListServlet extends HttpServlet { public NewsListServlet() { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List list = new ArrayList(); list.add(new News("TIOBE:2018年5月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); list.add(new News("TIOBE:2018年6月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); list.add(new News("TIOBE:2018年7月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); list.add(new News("TIOBE:2018年8月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); list.add(new News("TIOBE:2018年9月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); list.add(new News("TIOBE:2018年10月份全球编程语言排行榜", "2018-5-2", "TIOBE", "...")); String json = JSON.toJSONString(list); System.out.println(json); response.setContentType("text/html;charset=utf-8"); response.getWriter().println(json); } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title></head> <body> <div id="container"></div> <script type="text/javascript"> var xml = new XMLHttpRequest(); xml.open("GET", "/ajax/news_list", true); xml.send(); xml.onreadystatechange = function () { if (xml.status == 200 && xml.readyState == 4) { var xmlText = xml.responseText; console.log(xmlText); var json = JSON.parse(xmlText); console.log(json); var html = ""; for (var i = 0; i < json.length; i++) { var news = json[i]; html = html + "<h1>" + news.title + "</h1>"; html = html + "<h2>" + news.data + " " + news.source + "</h2>"; html = html + "<hr/>"; } document.getElementById("container").innerHTML = html; } }; </script> </body> </html>
response.getWriter().println(json);
这一句为什么不会再输出了?
2回答
好帮手慕小班
2019-11-21
同学你好,response.getWriter().println(json);服务器返回给浏览器的内容,ajax请求得到这些数据后,对它进行遍历,通过调用方法,添加html的标签后,写入到页面中:
也就是说ajax对这个返回的数据进行了处理。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
好帮手慕小班
2019-11-21
同学你好,1、这里是想说response.getWriter().println(json);这一句为什么不会在控制台输出吗。
2、如果是,response.getWriter.println()表示向浏览器页面中写入内容,ajax发起的请求,需要用这句话来处理返回的数据。
如果同学想表达的不是这个意思,还麻烦同学具体描述一下自己的问题。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题
回答 1
回答 2