Sending json files to server

Asked

Viewed 704 times

1

Well I’m making an application and it needs to register a certain person, this data I need to send via json and receive what happened.

ajax.js

        /* button  #btn_REGISTRAR */
$(document).on("click", "#btn_REGISTRAR", function(evt)
{
    var $server;
    $server = 'http://192.168.1.20/renan/';

    var lbl_CODCELULA = $('#lbl_CODCELULA').val();
    var lbl_NOME = $('#lbl_NOME').val();
    var lbl_APELIDO = $('#lbl_APELIDO').val();
    var lbl_SEXO = $('#lbl_SEXO').val();
    var dte_ANIVERSARIO = $('#dte_ANIVERSARIO').val();
    var lbl_TELEFONE = $('#lbl_TELEFONE').val();
    var lbl_EMAIL = $('#lbl_EMAIL').val();
    var lbl_SENHA = $('#lbl_SENHA').val();
    var lbl_CEP = $('#lbl_CEP').val();
    var lbl_ESTADO = $('#lbl_ESTADO').val();
    var lbl_CIDADE = $('#lbl_CIDADE').val();
    var lbl_BAIRRO = $('#lbl_RUA').val();
    var lbl_NUMERO = $('#lbl_NUMERO').val();
    var lbl_COMPLEMENTO = $('#lbl_COMPLEMENTO').val();



   function CadastrarMembro(){
           $.ajax({

               type: "get",
               dataType  : 'html',
               url: $server+"/pdo_acao.php",
               data: "acao=cadastrar",
               success: function(data) {
                    switch(data){
                        case '056':
                            navigator.notification.alert("Nenhuma célula com este código","Error");
                            break;
                        case '057':
                            navigator.notification.alert("Cadastrado com sucesso!","Sucesso");
                            activate_page("#mainpage");
                            break;
                        default:
                            navigator.notification.alert("Algo inesperado ocorreu, entre em contato com o administrador do sistema.","Error");
                            break;
                    }
                }
           });
    }
    CadastrarMembro();
});

pdo_acao.php

if ($_GET['acao'] == 'cadastrar') {
$lbl_CODCELULA = $_GET['lbl_CODCELULA'];
$lbl_NOME = $_GET['lbl_NOME'];
$lbl_APELIDO = $_GET['lbl_APELIDO'];
$lbl_SEXO = $_GET['lbl_SEXO'];
$dte_ANIVERSARIO = $_GET['dte_ANIVERSARIO'];
$lbl_TELEFONE = $_GET['lbl_TELEFONE'];
$lbl_EMAIL = $_GET['lbl_EMAIL'];
$lbl_SENHA = $_GET['lbl_SENHA'];
$lbl_CEP = $_GET['lbl_CEP'];
$lbl_ESTADO = $_GET['lbl_ESTADO'];
$lbl_CIDADE = $_GET['lbl_CIDADE'];
$lbl_RUA = $_GET['lbl_RUA'];
$lbl_BAIRRO = $_GET['lbl_BAIRRO'];
$lbl_NUMERO = $_GET['lbl_NUMERO'];
$lbl_COMPLEMENTO = $_GET['lbl_COMPLEMENTO'];

$sqlCODCEL = $conn->prepare("SELECT * FROM tbl_CELULAS WHERE TXT_CODIG_SECUR = :codCEL");
$sqlCODCEL->bindParam(":codCEL", $lbl_CODCELULA);
$linha = $sqlCODCEL->fetch(PDO::FETCH_ASSOC);

if ($sqlCODCEL->rowCount() == '0') {
    echo "056"; //Não existe nenhuma celula com este código.
} else {
    $codIgreJ = $linha['COD_IDENT_IGREJ'];
    try {
        $sql = $conn->prepare("INSERT INTO tbl_PESSOAS VALUES :COD_IDENT_IGREJ, :TXT_NOMEX_PESSO, :TXT_APELI_PESSO, :TXT_FONEX_PESSO, :DAT_NASCI_PESSO, :TXT_NASCI_PESSO, :TXT_NATUR_PESSO, "
                . ":FLG_SEXOX_PESSO, :FLG_IDENT_PESSO, :TXT_EMAIL_PESSO, :TXT_SENHAX_USUAR, :TXT_ENDER_CEPXX, :TXT_ENDER_BAIRR, :TXT_ENDER_LOGRA, :TXT_ENDER_NUMER, :TXT_ENDER_COMPL, "
                . ":COD_IDULT_ATUAL, :DAT_ULTIM_ATUAL");
        $sql->bindParam(":COD_IDENT_IGREJ", $email);
        $sql->bindParam(":TXT_NOMEX_PESSO", $senha);
        $sql->bindParam(":TXT_APELI_PESSO", $email);
        $sql->bindParam(":TXT_FONEX_PESSO", $senha);
        $sql->bindParam(":DAT_NASCI_PESSO", $email);
        $sql->bindParam(":TXT_NASCI_PESSO", $senha);
        $sql->bindParam(":TXT_NATUR_PESSO", $email);
        $sql->bindParam(":FLG_SEXOX_PESSO", $senha);
        $sql->bindParam(":FLG_IDENT_PESSO", 'M');
        $sql->bindParam(":TXT_EMAIL_PESSO", $senha);
        $sql->bindParam(":TXT_SENHAX_USUAR", $email);
        $sql->bindParam(":TXT_ENDER_CEPXX", $senha);
        $sql->bindParam(":TXT_ENDER_BAIRR", $email);
        $sql->bindParam(":TXT_ENDER_LOGRA", $senha);
        $sql->bindParam(":TXT_ENDER_NUMER", $email);
        $sql->bindParam(":TXT_ENDER_COMPL", $senha);
        $sql->bindParam(":COD_IDULT_ATUAL", '-1');
        $sql->bindParam(":DAT_ULTIM_ATUAL", now());

        $sql->execute();

        echo "057";//Cadastrado com sucesso!
    } catch (Exception $exc) {
        echo $exc->getMessage();
    }
}
}

I am not able to pack the information, and I am not able to receive the information.

2 answers

2

You are not passing the fields on the date, use so:

function CadastrarMembro(){
           $.ajax({                   
               type: "get",
               dataType  : 'html',
               url: $server+"/pdo_acao.php",
               data: $('#form').serialize() + "&acao=cadastrar"
               data: "acao=cadastrar",
               success: function(data) {
                    switch(data){
                        case '056':
                            navigator.notification.alert("Nenhuma célula com este código","Error");
                            break;
                        case '057':
                            navigator.notification.alert("Cadastrado com sucesso!","Sucesso");
                            activate_page("#mainpage");
                            break;
                        default:
                            navigator.notification.alert("Algo inesperado ocorreu, entre em contato com o administrador do sistema.","Error");
                            break;
                    }
                }
           });
    }

where is $('#form').serialize(), puts the name of the html form.

1


I’m not familiar with PHP, but looking at your code I haven’t been able to identify anything that looks like JSON yet.

Let’s go in pieces then.

First, you need to create a JSON with screen information before sending. This can be done with the code:

$pessoa_info = array(
    "codCelula" => $('#lbl_CODCELULA').val(),
    "nome" => $('#lbl_NOME').val(),
    // e assim por diante com as demais informações...
);

Then turn it into a JSON from this array:

$json = json_encode($pessoa_info);

To send the information, the code will be similar to this:

var jsonPessoa = $json;

function CadastrarMembro(){
           $.ajax({
               type: "POST", //importante: alterei para POST. GET não deve ser usado para envio de informações
               dataType  : 'json', //tipo deve ser JSON
               url: $server+"/pdo_acao.php",
               data: {pessoaData:jsonPessoa},
               success: function(data) {
                    switch(data){
                        case '056':
                            navigator.notification.alert("Nenhuma célula com este código","Error");
                            break;
                        case '057':
                            navigator.notification.alert("Cadastrado com sucesso!","Sucesso");
                            activate_page("#mainpage");
                            break;
                        default:
                            navigator.notification.alert("Algo inesperado ocorreu, entre em contato com o administrador do sistema.","Error");
                            break;
                    }
                }
           });
    }

And for the reading:

$jsonPessoa = $_POST['pessoaData'];
$pessoaInfoArray = json_decode($jsonPessoa, TRUE); // sem o TRUE retornará um objeto

Browser other questions tagged

You are not signed in. Login or sign up in order to post.