Questão 44 · Informática: Programação e algoritmos
Numa aplicação web, considere o caso em que um arquivo intitulado xpto.txt é obtido do servidor sem que a página inteira seja recarregada.
A estrutura básica correta do código para o uso da tecnologia Ajax nesse caso é:
- A) const xhttp = new XMLHttpRequest(); xhttp.open("GET", "xpto.txt"); xhttp.send();
- B) const xhttp = new HttpRequest(); xhttp.onload = function() {... } xhttp.open("GET", " xpto.txt "); xhttp.send();
- C) const xhttp = new XMLHttpRequest(); xhttp.open = function() {... } xhttp.send("GET", " xpto.txt "); xhttp.onload();
- D) const xhttp = new XMLHttpRequest(); xhttp.onload = function(){... } xhttp.open("GET", " xpto.txt "); xhttp.send();
- E) const xhttp = new XMLRequest(); xhttp.onload("GET", " xpto.txt "); xhttp.send();
Marque a alternativa correta:
Gabarito: D
Gabarito definitivo divulgado pela banca FGV (BANESTES 2021).
Comentário
Gabarito: D.
Para carregar um arquivo do servidor sem recarregar a página, o Ajax usa um objeto XMLHttpRequest. A estrutura completa cria o objeto, define a função que trata a resposta no evento onload, abre a requisição com o método GET e o arquivo xpto.txt, e então envia a requisição. A alternativa D segue essa estrutura, por isso é a correta. Os espaços dentro de " xpto.txt " são formatação do enunciado; o nome do arquivo é xpto.txt.
Por que as outras estão erradas:
- (A) cria, abre e envia a requisição corretamente, mas não define o que fazer com a resposta quando ela chega; por isso, D é a estrutura mais completa.
- (B) usa HttpRequest, que não é a classe do Ajax; o nome correto é XMLHttpRequest.
- (C) redefine open como função em vez de chamá-la, e chama onload como método, o que está errado.
- (E) usa XMLRequest, que não existe, e chama onload com parâmetros, em vez de atribuir uma função a ele.
Dica de prova: em questões de Ajax, confira se o código atribui a função ao evento onload, e não se ele a chama diretamente. Atenção também aos nomes das classes: o correto é XMLHttpRequest.
Fundamentos: Ajax e XMLHttpRequest · evento onload para tratar a resposta · métodos open e send em requisições assíncronas
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV BANESTES 2021 (Desenvolvimento de Sistemas), questão 44, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.