Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

robgeek

sintaxe de objeto em código ajax.

Recommended Posts

Boa tarde!

 

Bem, estou começando a aprender ajax usando jquery e queria que vocês me ajudassem a entender uma coisa, por favor!

Vejam o código abaixo(eu tirei ele de um tutorial e ele não explica o que eu vou perguntar):

$(document).ready(function(){
    var $comida = $('#comida');
    var $bebida = $('#bebida');

    $('#inserir').on('click', function( ){
    
        var pedido = {
            comida: $comida.val( ),
            bebida: $bebida.val( ),
        };

        $.ajax({
            type: 'POST',
            url: menu.php,
            data: pedido,
            success: function( novoPedido ) {
                $pedidos.append('<li>* ' + novoPedido.comida + ', '...);
            },
            error: funcition( ) {
                alert("Erro ao inserir.");
            }
        });
    });
});
Na parte "$.ajax({...})":

1- O que significa "novoPedido"? Imagino que seja uma instância do objeto "pedido", mas como o AJAX sabe que se trata do objeto "pedido" e não de um outro, já que não tem o mesmo nome da declaração do objeto? Achei que deveria ser algo do tipo "new pedido", como em Java, por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

novoPedido é apenas o retorno em texto do servidor.

 

Não é instância, não é objeto, não é nada.

É apenas o response body que o servidor envia, após receber um POST na URL informada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas então como ele acessa um atributo de "pedido" aqui "novoPedido.comida"?

É uma string de retorno então? Tem algum link onde explique bem isso aí? Não entendi muito bem em que consiste esse "response body".

 

Obrigado por sua resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque o retorno foi um JSON, ou seja, a string retornada estava formatada em JSON.

 

"response body" é o que o método System.out.print() "imprime"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.