Jquery AJAX + Servlet

5 respostas
kvnallen

Pessoal, estou tentando enviar 3 valores para o servlet para fazer uma validação, tenho o meu javascript:

$("document").ready(function(){
	
	
	function validaUsuario(url, data, metodoSucesso, metodoFalha){	
		
		$.ajax({
			type: 'POST',
			url: url,
			data: data,
			sucess: metodoSucesso,
			error: metodoFalha
			
		});
		
	}
	
	function validaUsuarioSucesso(){
		alert("sucesso");
	}
	
	function validaUsuarioErro(){
		alert("Erro!!");
	}
	
	
	$("#btnEnviar").click(function(){
			
		parametros = $("#form").serialize(); 
		
		validaUsuario("FuncionarioServlet?acao=Validar", parametros ,validaUsuarioSucesso, validaUsuarioErro);
		
	});
	
	
});

E o servlet

if(request.getParameter("acao").equalsIgnoreCase("Validar")){
			
			String login = request.getParameter("login");
			String senha = request.getParameter("senha");
			
			f = new Funcionario();
			f.setLogin(login);
			f.setSenha(senha);
			
			
			//Se o usuario existir, seta o objeto na sessão
			if(fachada.validarFuncionario(f) == true){
				
				session = request.getSession();
				session.setAttribute("usuario", f);
				
				
			}
			
		}

A página html é apenas um form com usuario e senha..., tentei de todo jeito mas ele não entra no servlet de jeito nenhum, já debuguei e tudo mas não adiantou, queria a ajuda de vocês pra saber se estou fazendo algo de errado, obrigado!

5 Respostas

A

Você tem certeza que a url da servlet é aquela? Especifique-a como “/NomeDoTeuProjeto/CaminhoSeHouver/SuaServlet”

kvnallen

Sim, tá no caminho certo, agora que vi na url ele ficou ?http://localhost:8080/LaPizza/?login=teste&senha=teste&button=Entrar

Onde ele deveria passar FuncionarioServlet, na verdade não deveria nem passar pois eu defini o ajax POST né?

paulo1911

Olá amigo, instale o plugin do firebug no Firefox e use o para debugar seu javaScript.

Veja na aba Rede para ver se esta chamando e se esta achando seu servlet. OK!

fallow

kvnallen

Consegui enviar :), só tive outro problema, no servlet ele não retorna nada e assim não volta pro javascript pro método de sucesso ou de erro para eu poder fazer o tratamento, eu faço isso em c# no Code-Behind, lá tenho um método que me retorna algo ou caso de alguma exceção ele vai pro de erro, mas em servlet não consegui =/

Polverini

acho que vc tem que usar o response

Criado 30 de agosto de 2012
Ultima resposta 1 de set. de 2012
Respostas 5
Participantes 4