← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Maria está criando uma página em seu site para o cadastro de clientes, onde a busca pelo CEP preencherá automaticamente parte dos dados do endereço. Considerando que o serviço de busca é oferecido por um Web Service SOAP, e que Maria irá utilizar XMLHttpRequest, no código Java Script, a função de callback para a consulta deve:

Gabarito: E

Quando voce usa XMLHttpRequest, a callback costuma acompanhar duas coisas: o estado da requisicao e o resultado da resposta. O ponto mais cobrado e simples: a resposta so deve ser tratada quando o readyState chega a 4, que indica que a transferencia terminou, e quando o status indica sucesso, normalmente 200. Em outras palavras, nao adianta olhar antes da hora, porque a resposta ainda pode estar incompleta ou com erro. Aqui mora a pegadinha da questao: o servico descrito e um Web Service SOAP. SOAP trabalha com XML, nao com JSON. Por isso, faz sentido usar responseXML, que entrega o conteudo ja como documento XML para ser navegado com tecnicas de DOM, como DOMParser ou selecao de nos e tags. Converter SOAP com JSON.parse seria um desvio total, porque JSON.parse serve para texto em JSON, nao para XML. A alternativa E esta correta exatamente por juntar os dois elementos certos: requisicao finalizada com readyState 4 e sucesso com status 200, e leitura da resposta como XML via responseXML. Isso e coerente com o formato do SOAP e com o uso classico de XMLHttpRequest em JavaScript. Em prova, pense assim: se e SOAP, o cheiro e de XML; se e XML, voce trabalha com responseXML e parse de DOM, nao com JSON. A banca adora trocar esses formatos para ver quem confunde tudo em um pacote so.

Continue treinando

Questões relacionadas