Controller recebe json nulo no spring

2 respostas
javaspring
D

estou criando um controle no spring para estudar e a situação é a seguinte: na jsp tem duas combos, uma com dados do bd, e a outra vazia. quando o usuario escolher uma opção, vai clicar no botão para add e depois gravar no bd. Estou pegando os objetos e guardando num array, e enviando via ajax para controller, porem quando ela chega na controller está vazia.

meu metodo do js que pega os dados :

var areas = [];
            var obj = {};
        
        
            function guardaObj() {
            var elem = document.getElementById("areas");
            var email = $("#email").val();
        
            // o elemento select foi encontrado?
            if (elem != null || valor != 0) {
            
                var area = document.createElement("option");
                area.text = $('#Departamento option:selected').text();
                area.value = parseInt($("#Departamento").val());
        
                
        obj = {
        
                    "email" : email,
                    "cod_Departamento" : area.value,
                    "departamento" : area.text,
                    "cod_Setor" : 5,
                    "setor" : "ola"
                }
                
        
                
                areas.push(obj);
                //console.log(areas);
        
                
                $("#Departamento option:selected").attr('disabled', 'disabled');
        
            } else {
                window.alert("Selecione uma opção valida");
            }
        
        }
    $(document).ready(function() {
    
        $('#btn').click(function() {
    
            $.ajax({
                type : 'GET',
                url : '/Preconizado/departamento/combo',
    
                crossDomain : true,
                data : JSON.stringify(areas),
                contentType : "application/json; charset=utf-8",
                dataType : "json",
    
                success : function(data) {
                    alert("sucesso");
                    console.log(data);
                },
                error : function(data) {
                    console.log("erro na funçao");
                }
    
            });
    
        });
    });

minha controller:

@RequestMapping(value = "/combo", method = RequestMethod.GET)
                public @ResponseBody AreasAdmin combos(@ModelAttribute AreasAdmin areas, HttpServletRequest request) {
            
                       
            
                    System.out.println("entrou");
                    // System.out.println(areas);
            
                    return areas;
            
                }

2 Respostas

V

Essa variavel valor foi decladarada aonde?

D

foi declarada fora dos metodos para ser global.

Criado 16 de agosto de 2016
Ultima resposta 17 de ago. de 2016
Respostas 2
Participantes 2