response in 'jSon' received from a 'php' file

0

I have the following response in jSon received from a php file.

{"1":"OK","2":"n"}

I now want to get the values from the indexes jQuery and 1 , which are respectively 2 and "OK" . >

How to do this?

My block looks like this:

  $("a#bloqDesbloq").click(function() {

     $.post ("../_requeridos/alteraAdministrador.php", {

         idAdministrador   : $(this).attr('idAdmin'),
         bloq      :         $(this).attr('bloq')

     }, function(retorno){
                     alert(retorno[1]);
          if (retorno[1] == "OK") {
              if (retorno[2] == "s")  $("a#bloqDesbloq img").prop("src",'_img/desbloquear.png')
              if (retorno[2] == "n")  $("a#bloqDesbloq img").prop("src",'_img/bloquear.png')
              location.reload();
          } else {
            alert("Erro no bloqueio");
            location.reload();
          }

       }
      );
        return false;

  });

Doing:

alert(retorno[1]);

Only return double quotes

"
    
asked by anonymous 22.05.2018 / 15:24

2 answers

0

You can try something like this:

  $("a#bloqDesbloq").on('click', function() {

    $.ajax({
        method: 'POST',
        url: '../_requeridos/alteraAdministrador.
        dataType: 'json'
    }).then(function(data) {
        console.log(data) // aqui vai estar o retorno da sua requisição!
                          // A partir daqui é só vc trata-lo para exibir da forma que quiser..

    }).catch(function(err) {
        console.log(err);  // Caso aconteça algum erro ele ira exibir no console!
    });

  });
    
22.05.2018 / 15:45
0

You have to set the return type. The example would be dataType: json

    $('#bloqDesbloq').on('click', function(){
       var idAdmin = $(this).attr('idAdmin');
       var bloq    = $(this).attr('bloq');
       $.ajax({
         url : '../_requeridos/alteraAdministrador.php',
         type : 'post',
         dataType: 'json',
         data: {
           idAdministrador : idAdmin,
           bloq : bloq
          }
       }).
        done( function( data ){
        if( data.1 == "OK" ){
          if ( data.2  == "s")  
              $("#bloqDesbloq").prop("src",'_img/desbloquear.png')
          if (data.2 == "n") 
               $("#bloqDesbloq").prop("src",'_img/bloquear.png')
       }else{

       }
    })
 })

Another option is to use

$.post('script.php', data, function(response) {
    // Do something with the request
}, 'json');

Source: link

    
22.05.2018 / 15:48