【发布时间】: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