【问题标题】:Ajax not displaying returned jsonAjax 不显示返回的 json
【发布时间】:2018-11-19 07:35:25
【问题描述】:

我正在尝试我的第一个 Web 应用程序,我尝试使用 Ajax 调用从服务器获取和检索 json 数据,但由于某种原因,我无法在 ajax 调用后看到 json 响应。

我读了几篇关于此的帖子,但没有运气,有人可以在这里帮助我...

<form method="post">
    <input id="show" type="submit" value="submit" />
</form>
<div id="displayNewsDiv"></div>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#show").click(function() {
            alert("h");
            $.ajax({
                url: "News",
                type: "Post",
                data: {"results":true},
                dataType: "json",
                success: function(data) {
                    debugger
                    alert(data);
                }
            })
            /* $.post("News", {"results": true}, function(data) {
                debugger
                alert(data);
                console.log("done")
                console.log(data)
            }) */
        })
    })
</script>

News.java

protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    List<String> newsList = new ArrayList<String>();

    Path path = Paths.get(request.getServletContext().getRealPath("helpTextFile.txt"));
    try {
        newsList = Files.readAllLines(path);
        PrintWriter writer = response.getWriter();
        //writer.println(writer);
        String json = new Gson().toJson(newsList);
        response.setContentType("application/json");
        //new Gson().toJson(newsList, writer);
        writer.write(json);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

文件数据:

new_12314124124:2018.06.09:2:News 1
new_12314124124:2018.03.03:1:News 2
new_12314124124:2018.04.07:3:News 3

我在调试模式下运行,我可以看到列表中填充了数据,并且它转换为 json 没有错误,但我仍然无法看到数据,也无法在 ajax 中运行我的调试器。

【问题讨论】:

标签: java jquery json ajax servlets


【解决方案1】:

您应该为 JSON 响应设置 contentType。

response.setContentType("application/json");

在写入 json 数据后调用 printWriter 对象的 flush() 方法。

writer.flush();

【讨论】:

    猜你喜欢
    • 2013-02-16
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多