Problems and doubts with sending data Ajax and form PhP

0

Hello. I need to save some information from the html form in php but without reloading the page. I tried several ajax tutorials and video lessons but I'm doing something very wrong or I really did not understand anything about how ajax works. My html:

<form method='post' id="form">
Nome: <input name="nome" id="nome" type="text"/>
<input type="hidden" name="acao" />
<input type="submit" value="Enva" id="submit"/>
</form>

Javascript:

$(document).ready(function(){
$('#submit').click(function(event){
    event.preventDefault();
    $.ajax({
            type: 'POST',
            data: $("#form").serialize,
            url: 'teste.php',
            success:function(data) {
                // deu certo?
            }
    }); 
});
});

File php:

<?php
if(isset($_POST["acao"])){
    $nome = $_POST["nome"];
    var_dump($nome);
}

Why do not you send anything in php? What am I doing wrong?

    
asked by anonymous 09.06.2017 / 22:55

1 answer

0

Try this solution:

In the HTML part:

<input name="nome" id="campo_nome" type="text"/>
<input type="hidden" name="acao" id="campo_acao" />
<button id="btn_enviar" type="button"></button>

In the JAVASCRIPT / JQUERY part:

$('#btn_enviar').on('click', function(){
{
    var campo_acao = $('#campo_acao').val();
    var campo_nome = $('#campo_nome').val();

    // Caso seja via texto:
    //var dados = 'acao=' + campo_acao + '&nome=' + campo_nome;

   // Caso seja via JSON
    var dados = {
        acao : campo_acao,
        nome : campo_nome
    }

    $.ajax({
        url: 'nomeEnderecoArquivoAjax.php',
        type: 'POST',
        data: dados,
        dataType: 'html',
        success: function(data){  
            alert('dados enviados!');
        }
    });
}

PHP file:

// Veja o que está chegando no arquivo PHP
var_dump($_POST);
    
10.06.2017 / 01:24