Receive responses from the jQuery Ajax request

3

When I send an Ajax to run the script from my PHP the only thing it returns is success if the script was executed successfully or error if the script did not run successfully. Question: How to capture response from PHP and return this response to the Ajax request for it to display or do what you want with it? Type:

jQuery code sending variables and doing POST

$.ajax({
      type: "POST",
      url: 'url_especifica',   
      data: {variaveis: variaveis},
      success: function (result) {
         // Como requisitar $resposta e mostrar ela aqui
      }
      error: function (result) {
         // Como requisitar $resposta e mostrar ela aqui
      }
 });

PHP insert example

if($Count == 0){
    $Insert = mysql_query("INSERT INTO tbl_usuarios 
     VALUES ('', '$nome', '$email', '$tipo', '$senha', '$ativado', NOW())");
}

PHP

if(usuario_inserido_com_sucesso) { 
    $resposta: "O usuário foi inserido com sucesso"; }
else { 
    $resposta: "O usuário não foi inserido com sucesso"; }
    
asked by anonymous 02.08.2014 / 14:27

2 answers

3

To send data from a PHP script back to the client side you have to use echo .

echo <conteudo>;

In your case, you can use this in your PHP:

if($Insert) $resposta = "O usuário foi inserido com sucesso";
else $resposta = "O usuário não foi inserido com sucesso";

echo $resposta;

(Note that I've changed its : to = ).

And in ajax you can use it like this:

success: function (result) {
   // usar a variavel result
   alert(result);
}
    
02.08.2014 / 14:34
0

I usually do this:

jquery:

$.ajax({
    type: "POST",
    url: 'url_especifica',   
    data: {variaveis: variaveis},
    success: function (result) {
        if (result.substring(0,7) == 'sucesso') {
            $('#elemento').html(result.substring(8));
        } else {
            alert('ERRO: ' + result);
        }
    }
});

PHP:

if(usuario_inserido_com_sucesso) { 
    exit("sucessoO usuário foi inserido com sucesso");
} else { 
    exit("O usuário não foi inserido com sucesso");
}

Please note that both success and failure to include the record must be handled in the success method, as it indicates the success of the ajax request, and treats the return it received from PHP.

The error method should be used to handle errors in the ajax request (timeout, error, abort, parsererror), in which case it will not receive any return from the server, since it probably was not done ... < p>     

02.08.2014 / 20:00