Ajax не отображает возвращенный JSON - PullRequest
0 голосов
/ 09 июня 2018

Я пробую свое первое веб-приложение, в котором я пытаюсь использовать вызов Ajax для получения и получения данных json с сервера, но по какой-то причине я не могу увидеть ответ json после вызова ajax.

Я читаю несколько постов по этому вопросу, но без удачи, может кто-нибудь, пожалуйста, помогите мне здесь ...

<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когда-либо бежит.

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны установить contentType для ответа JSON.

response.setContentType("application/json");

Вызвать метод flush () для объекта printWriter после записи данных json.

writer.flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...