Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Estou fazendo uma requisição ajax. mas preciso que ele espere o retorno do meu php. segue código logo abaixo:
o arquivo gravar php testa se o usuário pode ou não pode fazer a ação (CRUD). Quando retorna erro, a mensagem de exclusão não permitida aparece mas, a linha do else não executa.
if (confirm('Excluir Grupo de Usuários?')) {
$.ajax({
async: false,
url : 'grupo_usuario/gravar.php',
type : 'POST',
data: {id_grupo: id, acao_grupo:'excluir'},
success: function(retorno){
if(retorno.trim()==="erro"){
alert('Exclusão não Permitida. Usuário não Autorizado!!!');
} else {
$(this).parent().parent().hide();
}
}
});
}Qual o conteúdo da resposta, quando não vem "erro"?
DSerma,
quando não retorna erro, o conteudo vem em branco.
ele entra no success, o retorno esta vindo certo.
Se você der um alert() no else, ele mostra algo?
sim, aparece. Mas não executa a linha: $(this).parent().parent().hide();
quando eu coloco esta linha: $(this).parent().parent().hide(); antes ou depois do ajax, ela executa. Mas dentro não executa.
O $(this) está se referindo ao objeto AJAX criado.
Se você quer esconder algo, não seria melhor pegá-lo pelo id?
Tipo $('#idDoObj').hide() ?
Movendo para área correta.
o objeto q quero esconder é a linha de uma table.
vou testar isso q vc falou.
era isso mesmo, valeu!!!
criei uma variável elemento:
var elemento = $(this).parent().parent();
e dentro do ajax substitui o $(this).parent().parent().hide() por elemento.hide();
Tente colocar uma opção error: function(retorno{}) e veja se retorna. As vezes, o erro está no retorno do ajax, e não entrou no success.