How to show table in JSON return?

4

I need to return an insert pass parameter to a page and load it into a specific div , I tried something like this:

var formData = new FormData(this);
$.ajax({
    url: formURL,
    type: 'POST',
    data: formData,
    mimeType: "multipart/form-data",
    contentType: false,
    cache: false,
    processData: false,
    success: function(data, textStatus, jqXHR) {

     var json = $.parseJSON(data);
     var IdContrato = json.par;

    // TABELA COM DOCUMENTOS DO CONTRATO
    $("#resultado-upload").load('pListaUpload.php',{IdContrato:IdContrato});
    // LIMPANDO CAMPOS DO FORMULÁRIO
    $("#sObservacao").val("");          
    },
    error: function(jqXHR, textStatus, errorThrown) {
        $("#resultado-upload").html('<pre><code class="prettyprint">REQUISIÇÃO AJAX FALHOU<br/> textStatus=' + textStatus + ', errorThrown=' + errorThrown + '</code></pre>');
    }
});
e.preventDefault();
e.unbind();

The page php that looks for the data and should be shown is this:

// Array que irá retornar o status da execução do script (JSON)
$aretorno = array();    
$aretorno["msg"] = "";
$aretorno["status"] = "";

@$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);

// Checar conexão
if ($conn->connect_errno) {
    $aretorno["msg"] = "Conexão ao banco de dados falhou.";
    $aretorno["status"] = "ERRO";
    echo $aretorno;
    exit;
}

if (!$conn->set_charset("utf8")) {
    $aretorno = "Erro ao carregar conjunto de caracteres utf8.";
    echo $aretorno;
    exit;
}

$sql = "SELECT * FROM gerDoctoContrato WHERE IdContrato = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param(
    "i",
    $_POST["IdContrato"]
);

if($stmt->execute()){
    $data = array();    
    $result = $stmt->get_result();
    echo '';
    echo '
            
                Arquivo
                Tipo
                Caminho
                Ação
              
            ';
    echo '';
    while ($row = $result->fetch_assoc()) {

        $IdDocumento = $row['IdDocumento'];
        $IdContrato = $row['IdContrato'];       

        echo '';
            echo '' . $row['NomeArquivo'] .'';
            echo '' . $row['TipoArquivo'] .'';
            echo '' . $row['CaminhoAnexo'] .'';
            echo '';

        echo '';
    }
    echo '';
    echo '';
    $stmt->close();
}else{
    echo "Ocorreu um erro na listagem dos dados: " . $stmt->error . ". Verifique.";
}

//close the database
$conn->close();

And in my return appears Array , the parameter I was able to retrieve but not display the table.

    
asked by anonymous 19.08.2015 / 16:36

1 answer

2

Try to do this, it works if the div name is correct and the page is too:

$("#resultado-upload").load('pListaUpload.php',{'IdContrato' : IdContrato});

If it does not work try loading ajax like this:

  var value = IdContrato;  
    $.ajax({
      url: "pListaUpload.php",
      data: "key="+value,
      type: "post",
      success: function(data){
            $('#resultado-upload').html(data);
      }
    });
    
19.08.2015 / 18:56