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