Sergio, vamos lá.
Pergunta 1:
Sempre que você faz uma requisição AJAX o servidor irá retornar um dado (no caso um JSONP) é no parâmetro retorno
que "pegamos" esse dado, pois a função que estamos passando é o callback
de sucesso da requisição AJAX:
$.get('http://mirrorfashion.caelum.com.br/treinamentos', function(retorno) {
console.log(retorno);
// Implementação vem aqui;
}, 'JSONP');
No caso desta requisição teremos no console
:
Object {treinamentos: Array[3]}
Veja que o retorno
é um Object
com a propriedade treinamentos
que contém um Array
com 3 elementos.
Pergunta 2:
Você está fazendo uma requisição para o servidor da Caelum, através do método GET
com a URL
http://mirrorfashion.caelum.com.br/treinamentos. O servidor está preparado para devolver um retorno para quem fizer esse tipo de requisição.
Aqui para entender o porque não chegou o objeto correto preciso que você me mande o código que implementou.
Fica a dica de assistir o curso de HTTP aqui da Alura, para entender melhor a questão.
Pergunta 3
Se você analisar o retorno retorno do console
na primeira questão verá que o servidor retorna um objeto com a propriedade treinamentos
por isso pegamos ele.
Agora o each
Como a propriedade treinamentos
é um Array
podemos usar o método each
do jQuery que nos permite acessar cada (each) elemento do Array
. Imagine como se ele fosse um for
percorrendo cara propriedade do Array
, só que de forma funcional.
Vai aqui um exemplo pra você testar no console
do navegador.
var meuArray = [
{nome: 'a'},
{nome: 'b'},
{nome: 'c'}
];
$.each(meuArray, function() {
console.log('A propriedade atual do Array é:', this.nome);
});
Neste casso o this
é a propriedade atual do Array
, assim conseguimos acessar a propriedade nome
.
Caso algo não tenha ficado claro, ou eu expliquei de uma forma confusa, pode mandar as novas dúvidas que tento explicar novamente de outra forma.