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>" ?
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>" ?
@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);
};