jQuery post () JSP возвращает коллекцию - PullRequest
1 голос
/ 04 июля 2010

Мой HTML выглядит так:

<script type="text/javascript" src="jquery-1.4.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#btn").click(function(){
                $.post("test.jsp", { "txt": $("#txt").val() },
                function(data){
                    alert(data);
                    $("#res").html(data);
                });
            });
        });

    </script>

Отправляет значение текстового поля "txt", а затем мой JSP возвращает List:

<%
String str=request.getParameter("txt");
List ls=new ArrayList();
ls.add(str+"1");
ls.add(str+"2");
ls.add(str+"3");
ls.add(str+"4");
out.print(ls);
%>

У меня вопрос, как я могу получить элементы списка один за другим? Что-то вроде data[1].

1 Ответ

1 голос
/ 04 июля 2010

Вам необходимо вернуть допустимую строку JSON.Вы можете использовать библиотеки JSON Java или просто отформатировать строку, чтобы она была допустимой JSON (будьте осторожны):

out.print('["'+str+'1", "'+str+'2"]');

Тогда переменная data в вашем обратном вызове JavaScript будет выглядеть примерно так: ["txt1", "txt2"].Затем вам нужно проанализировать его, чтобы сделать его пригодным для использования в JavaScript объектом (я предлагаю добавить dataType 'json' к методу $ .post, он выполняет синтаксический анализ за вас).

На этом этапе вы можете вызвать data[1].

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