AJAX如何在JSP上使用Spring访问映射列表JSON

AJAX如何在JSP上使用Spring访问映射列表JSON,ajax,json,spring,jsp,spring-mvc,Ajax,Json,Spring,Jsp,Spring Mvc,我试图使用以下代码用list和list2数据填充组合框: $("#collectionPeriod").change( function(){ alert('collectionPeriodIndex === ' + $(this).find('option:selected').index()); $.ajax({ type: "GET", url: "${pageContext.request.conte

我试图使用以下代码用
list
list2
数据填充组合框:

$("#collectionPeriod").change(
    function(){
        alert('collectionPeriodIndex === ' + $(this).find('option:selected').index());
        $.ajax({
            type: "GET",
            url: "${pageContext.request.contextPath}/collectionMonitorCampus.htm",
            data: {collectionPeriodIndex: $(this).find('option:selected').index(), sYearIndexNext: $('#sYear').find('option:selected').index(), sYearVal: $('#sYear').find('option:selected').val()},
            success: function(data) {
                $("#submission").prop("disabled", false);
                $("#submission").empty();
                $("#category").empty();

                $.each($.map(data.list, function(val) {
                     $('#category').append(new Option(val,val));
                     console.log("val1 " + val);
                }));

                $.each($.map(data.list2, function(val) {
                     $('#submission').append(new Option(val,val));
                     console.log("val2 " + val);
                }));
            }
        });

    });
我的问题是控制台只打印
val2
值,而
val
被完全忽略。我访问这些数据的方式有错误吗

我的控制器
list
list2
定义为
list returnList=new ArrayList()

我将
list
list1放入的模型是
Map model=newhashmap()`

我将ModelAndView返回为:

返回新的ModelAndView(“jsonView”,model)

任何帮助都将不胜感激!谢谢。

这两个
。each()
.map()
都是能够访问
数据中元素的函数。list
。 阅读更多关于

您可以使用一个或另一个,但不需要两个:

$.map(data.list, function(val, i) {
    $('#category').append(new Option(val,val));
    console.log("val1 " + val);
});

请注意参数的顺序,
。每个()
的顺序与
.map()
的顺序不同

$(data.list).each(function(i, val) {
    $('#category').append(new Option(val,val));
    console.log("val1 " + val);
});