如何使用jquery ajax格式化来自servlet的返回json响应

时间:2015-03-04 18:11:29

标签: javascript jquery ajax forms servlets

我正在尝试使用jquery ajax显示从servlet返回的用户列表。第一个脚本块运行良好,但无法传递表单参数,如文本和下拉列表值,但显示从格式良好的列表中的服务器返回的用户列表。

格式化响应但不能将表单参数传递给servlet的脚本。

$(document).ready(function() {
    $("form").submit(function(){
        alert("form submitted");
        $.get('SearchUserServlet', function(responseJson) {
            alert(responseJson);
            alert("inside the servlet");
            var $ul = $('<ul class="list-group">').appendTo($('.well'));
            $.each(responseJson, function(index, item) {
                $('<li class="list-group-item"><strong>').text(item).appendTo($ul);
            });
        });
    });
});

我试过的第二个脚本将表单参数正确传递给servlet,但是从servlet返回的响应没有像第一个脚本那样进行格式化。 下面是第二个脚本

var form = $('#SearchForm');

form.submit(function(){
    type: form.attr('method'),url: form.attr('action'),data: form.serialize(),
    success: function(responseJson) {
        alert(responseJson);
        alert("inside the servlet");
        var $ul = $('<ul class="list-group">').appendTo($('.well'));
        $.each(responseJson, function(index, item) {
            $('<li class="list-group-item"><strong>').text(item).appendTo($ul);
        });
    });
});

请帮我找到两个脚本中的问题,这样我就可以传递表单参数,并将响应格式化为正确的列表。 请查看和建议。

1 个答案:

答案 0 :(得分:0)

尝试这个假设你的json字符串是json String = {...,..,..};

for(i=0; i<data.jsonString.length; i++) {
    //do your work here with which you are doing inside $.each  
}