Problems with jquery to read json

0

- Edited--

I can not solve a problem in my code. I use jquery to make a request for a barcode. I even get the value but I can not associate my function to mount the table. The error is specifically when mounting the tds where I can not get the value of text (data.product) for example.

 var codigo = $("#codigo_barras");
codigo.on("keydown",function(e){
      if(e.which == 13) {
          e.preventDefault();
          $.get("controle/pedido-troca-pendente-busca-produto.php?codigo="+codigo.val(),geraLinha);
      }
});

function geraLinha(data){
  var produto = jQuery.parseJSON(data);
  console.log(produto);
  var linha  = $("<tr>");
  var colunaProduto = $("<td>").text(data.produto);
  var colunaTamanho = $("<td>").text(data.tamanho);
  var colunaPreco = $("<td>").text(data.preco);
  var colunaUsuario = $("<td>").text(data.usuario);
  linha.append(colunaProduto);
  linha.append(colunaTamanho);
  linha.append(colunaPreco);
  linha.append(colunaUsuario);
  $("#troca-pendente").append(linha);
}

response on console:

{id_produto: "1", produto: "Tenis Azul", tamanho: "33", cod_barras: "33", tipo_cobranca: "1", …}

or html

<tbody id="troca-pendente">
</tbody>
    
asked by anonymous 27.11.2018 / 18:20

1 answer

0

I think the problem is here, var produto = jQuery.parseJSON(data); you are doing the parse and playing to the variable produto , but at the time of using you are using data

colunaProduto = $("<td>").text(data.produto);

Solution change data.* by produto.* .

colunaProduto = $("<td>").text(produto.produto);
    
27.11.2018 / 20:45