Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Funcionou no Chrome e uma dúvida

Senhores, testei no chrome e funcionou normalmente!! :)

Uma dúvida: Aonde está declarado que ao clicar em atualizar vai sempre repetir os 3 ultimos "<li's>" ?

4 respostas
solução!

@Igor, se você reparar utilizamos a função each(), que faz um laço de repetição.

$.each(retorno.treinamentos, function() {
    var treinamento = this;
    $('<li>').text(treinamento.nome).css('color', 'green').appendTo('#lista');
});

Para cada um dos treinamentos que tem no retorno, executamos a função que gera um <li>. Como temos exatos três treinamentos no objeto JSON recebido da URL http://mirrorfashion.caelum.com.br/treinamentos (VRaptor, Git e Java), ele sempre gera três <li>!

Qual a diferença do JSONP para o JSON? E esse servidor não verifica nada, no AJAX não mandamos nenhum parametro pra saber se podemos requesitar estes dados?

Ricardo, reparei que essa dúvida sobre a diferença entre JSON e JSONP ainda não existe no fórum, pode abrir um outro tópico sobre o assunto? Assim outros alunos que tenham a mesma dúvida conseguirão encontrar a resposta mais facilmente!

Sobre o servidor, você está se referindo a algum tipo de autenticação? Como ele foi feito para este curso, não é necessário que ocorra nenhuma verificação!

Já que não abriu uma dúvida, vou explicar aqui mesmo.

JSONP significa JSON with Padding.

Tentando simplificar, é uma formatação de JSON que fica embrulhada em um método, permitindo que, ao receber uma resposta em JSONP, uma função de callback seja executada imediatamente com os dados retornados.

Por exemplo, digamos que você tem um servidor que espera um parâmetro de callback.

http://mirrorfashion.caelum.com.br/treinamentos?callback=nomeDaSuaFuncao

Com JSON normal, essa requisição retorna um objeto comum.

{ chave: 'valor' }

No entanto, ao utilizar JSONP, o parâmetro callback transforma o retorno, envolvendo-o mais ou menos assim

nomeDaSuaFuncao({ chave: 'valor' });

Assim, ao receber o retorno, o método meuCallback será executado imediatamente, de acordo com o que você tiver implementado anteriormente, por exemplo: ``` nomeDaSuaFuncao = function(data) { alert(data.chave); };

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software