【问题标题】:spring mvc error ajax [object Object] when return @ResponseBody Map返回@ResponseBody Map时的spring mvc错误ajax [object Object]
【发布时间】:2014-02-25 22:14:16
【问题描述】:

我想做一个连接的组合框,因为我在视图中使用 ajax 和 javascript,问题是控制器接收数据并捕获我的结果,但是当返回时踢我错误不能返回 Map,我m 使用弹簧 mvc。

我已经有 2 个 json 库,我认为这不是问题..

JSP

....

       jQuery(document).ready(function() { 

        var contexPath = "<%=request.getContextPath()%>";
        $('#anios').change(
            function(e){
                if(jQuery(this).val() != "-1"){
                    $('#eventos').find('option').remove().end().append(
                        '<option value="-1">--Select state--</option>');
                    e.preventDefault();
                    var val = $(this).val();
                    jQuery("#eventos").removeAttr("disabled");

                    alert(val);
                    //$('#othstate').val('').hide(); 
                    $.ajax({
                        type : "POST",
                        url : contexPath + '/eventosPublicados.html',
                        dataType : 'json',
                        data : {
                            idAnio : val
                        }, success : function(data){
                            //alert(data.lstEventos);
                            //showEventos(data.lstEventos);
                            // $('#states').html( data.lstStates ); 
                        }, error : function(e) {
                            alert('Error: '+ e);
                        }
                     });
                } else {
                    $("#eventos").attr("disabled", "disabled");
                    $('#eventos').find('option').remove().end().append(
                    '<option value="-1">--- Seleccione ---</option>');
                }
            });

            function showEventos(data) {
                for (var i = 0, len = data.length; i < len; ++i) {
                    var msajax = data[i];
                    $('#eventos').append(
                    "<option value=\"" +msajax.idEvento + "\">" + msajax.nombre + "</option>");
                }
            }

        });
    </script>

..

控制器

 @RequestMapping(value= "/eventosPublicados", headers = "Accept=application/json,application/xml")
public @ResponseBody Map<String, ? extends Object> listaEventosPublicados(@RequestParam(value="idAnio", required=true) String anio) throws Exception{
    Map<String,Object> model = new HashMap<String, Object>();

    List<Evento> eventos = this.eventoService.obtenerEventosPublicadosxAnio(Integer.parseInt(anio));
    System.out.println("evento size: " + eventos.size());

    model.put("lstEventos", eventos);

    return model;
}

如果我从列表中检索数据,这意味着如果值“anio”到达,则问题是返回。

请帮帮我

【问题讨论】:

    标签: javascript jquery ajax jsp spring-mvc


    【解决方案1】:

    你在尝试这样吗?你在哪里将“eventos”解析为json?

     @RequestMapping(value= "/eventosPublicados", headers = "Accept=application/json,application/xml")
     @ResponseBody
     public String listaEventosPublicados (@RequestParam(value="idAnio", required=true) String anio)){
          // ..... Parsing "eventos" to json 
     }
    

    解析jsonhttps://code.google.com/p/google-gson/会很有用

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 2014-08-09
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多