3
respostas

Dúvida sobre a função de POST

Gostaria de entender porque essa função não cria novos itens no /placar quando executamos ela novamente com os mesmos dados. Por exemplo, se temos ali "Usuario: João" e "Palavras: 30" e executamos a função duas vezes, ele não duplica o João no servidor.

//botao sincroniza placar
$("#botao-sync").click(sincronizaPlacar);

function sincronizaPlacar(){
    var placar = [];
    var linhas = $("tbody>tr");
    linhas.each(function(){
        var usuario = $(this).find("td:nth-child(1)").text();
        var palavras = $(this).find("td:nth-child(2)").text();
        var score = {
            usuario: usuario,
            pontos: palavras
        };
        placar.push(score);
    });    

    var dados = {
        placar: placar
    };

    $.post("http://localhost:3000/placar", dados, function(){
        console.log("Dados salvos");
    } )
}
3 respostas

Fala ai Caio, tudo bem? Provavelmente deve ter algum controle na API (back-end) para que não crie duas vezes um placar para o mesmo usuário com o mesmo valor.

Ou talvez no front tenha algum controle para não duplicar dados na tabela.

Mas, não lembro desse controle, precisaria ver a API para entender com mais calma o que pode estar ocorrendo.

Espero ter ajudado.

Matheus, acho que entendi.

var dados = {
        placar: placar
    };

    $.post("http://localhost:3000/placar", dados, function(){
        console.log("Dados salvos");
    } )

Ali estamos criando o objeto dados e atribuindo o conteúdo do placar a ele. Abaixo, no POST, estamos substituindo o conteúdo atual do servidor pelo conteúdo da variável dados. Acho que é isso

Fala ai Caio, é isso mesmo, mandou bem.

Pelo jeito o placa é enviado todo de uma vez.

Abraços e bons estudos.