Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julio Andolfo

Ajax dentro de IF Javascript

Recommended Posts

Ola campeões, tudo bem com vocês ?

Segue minha dúvida, como usar um método AJAX dentro de um IF Jascript, exemplo :

alertand.confirm("Deseja realmente fazer isso ? ?", function (e) {
if (e) {
 
$.ajax({......

E é possível usar PHP dentro da condição IF ELSE do javascript ?

 

Exemplo :

alertand.confirm("Deseja realmente fazer isso ? ?", function (e) {
if (e) {

<?php
aqui ocorre o código.
?>....

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites
if(confirm("Deseja realizar determinada ação?")){
  //bloco de código caso o usuário pressione ok
  //chame ajax aqui
} else {
  //ou código quando cancelar (opcional)
}

confirm([string]) é um método do javascript puro que chama uma caixa de mensagem e retorna um valor booleano.

é possivel colocar PHP dentro de if-else, só que o código PHP vai ser executado no momento da requisição do cliente, e não quando o usuário pressionar 'OK' ou 'cancelar'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo fazendo assim :

 

if (confirm) {
$.ajax({

Agora minha outra dúvida, no código ajax, para receber algum erro está assim :

 

error: function() {
        alertand.error("Algo deu errado");
    },

Porém, por mais que o código da requisição AJAX esteja errado, não retorna o erro.

 

Estou enviando via POST, como faço para retornar o erro ?

 

O que devo colocar na página PHP, para que o AJAX saiba que houve algum erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você tá enviando via POST, mude a configuração de método do ajax pra POST:

var dataObj = { /* coloque os dados nesse JSON */ }
$.ajax({
  method: 'POST',
  data: dataObj,
  error: function(err){
    window.alert("Ocorreu um erro: "+err);
  } 
})

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função está retornando corretamente, porém estou com o seguinte problema, por mais que eu retorne com :

if(tudo ok) {echo 'sucesso';


}else {


echo 'error';


}

E no ajax estou fazendo assim :

 

if (response == 'sucesso') {
           alertand.success("ok !");
        } else {
            alertand.error("erro!");
        }

Não consigo fazer ele ver que está dando SUCESSO, e já dei alert(response), ele retorna tudo ok, porém no ajax não identifica, o que pode ser ?

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

só adicionar um campo de 'success' ao objeto ajax associado a um callback

var dataObj = { /* coloque os dados nesse JSON */ }
$.ajax({
  method: 'POST',
  data: dataObj,
  error: function(err){
    window.alert("Ocorreu um erro: "+err);
  }
  success: function(data){
    //código executado se o ajax for bem sucedido
  } 
})

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu ajax está assim :

$.ajax({
    type: 'POST',
    url: 'pages/id.php',
    data: 'id=' + <?php echo $id; ?>,
    success: function(response) {


if (response == 'sucesso') {
           alertand.success("ok");
        } else {
            alertand.error("erro");
        }
    }
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, a solução foi a seguinte, transformar o RESPONSE em uma variável, usando :

var status = $.trim(response);

Ainda não entendi o motivo, porém funcionou, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você estiver usando esse código mesmo, então o browser vai dar erro porque "alertand" não é um método do objeto window, troque só por alert("ok") ou alert("erro")

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.