Como fazer uma requisição... xmlhttprequest com array.

JavaScript CSS Geral

seguinte código:

 

<script>
  let info = new Array()
  info[0] = 'index.php'
  info[1] = 'portifolio.php'
  info[2] = 'nn'

 

 

 

  let url = ['https://xraros.000webhostapp.com/']
  let proxy = 'https://cors-anywhere.herokuapp.com/';
  let ajax = new XMLHttpRequest();
  

 

   for(let i = 0; i < info.length; i++){
   ajax.onreadystatechange = () => {
    if(ajax.readyState == 4){
     if(ajax.status == 200){
      
      console.log('achou')
      
     
      

 

     }else{
      console.log('nao achou')

 

     } 
      
    }

 

   }
   ajax.open('GET',proxy+url+info[i],true);
   ajax.send()
   
   
  }

 

 </script>

 

quero saber por que não aparece no console as outras resposta e só aparecer uma que é "GET https://cors-anywhere.herokuapp.com/https://xraros.000webhostapp.com/nn 404 (Not Found) (anonymous) @ teste.html:40 teste.html:32 nao achou"? tem como testar os valores do indice da array e mostra para cada um se "achou" ou "nao achou"? faz tempo que to com essa duvida... Obrigado.

Foto de Matheus J.
Matheus perguntou há 3 anos

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
2 respostas
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Lucas M.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 anos

let info = new Array()
  info[0] = 'index.php'
  info[1] = 'portifolio.php'
  info[2] = 'nn'

 

  let url = ['https://xraros.000webhostapp.com/']
  let proxy = 'https://cors-anywhere.herokuapp.com/';
  let ajax = new XMLHttpRequest();
  

 
ajax.onreadystatechange = () => {
   for(let i = 0; i < info.length(); i++){
   
    if(this.readyState == 4  && this.status == 200){
      
      console.log('achou')
      

     }else{
      console.log('nao achou')

     } 
      
  }

   ajax.open('GET',proxy+url+info[i],true);
   ajax.send("índices enviados: " +info[0] +info[1] +info[2]);
}

</script>

 

Correções do código javascript xmlhttprequest

1. O que eu fiz foi criar o método length() para dizer o tamanho daquele array 

2. Chamei a variável ajax e usei o método send para enviar os  arquivos  pro servidor do php e o mesmo me retornar os arquivos.

3. Modifiquei o if pois não precisa um if dentro do outro o que precisa é dizer se aquela leitura é igual a 4  e o status é igual a 200.

4. Usei o this para fazer um autoreferência ao objeto ajax.

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Valberto S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 anos
Dicas de Javascript } Como fazer uma requisicao HTTP GET com javascript puro Por Gustavo Furtado de Oliveira Alves Este post mostra como fazer uma requisição HTTP com javascript puro, ou seja sem usar frameworks como jQuery. Para isso basta utilizar a API XMLHttpRequest nativa do javascript. Disponibilizei um arquivo texto para utilizarmos como exemplo no endereço: https://dicasdejavascript.com.br/exemplo.txt O código abaixo mostra a forma mais simples, embora não indicada, de fazer uma requisição GET com javascript. var url = "https://dicasdejavascript.com.br/exemplo.txt";//Sua URL var xhttp = new XMLHttpRequest(); xhttp.open("GET", url, false); xhttp.send();//A execução do script pára aqui até a requisição retornar do servidor console.log(xhttp.responseText); O código acima faz uma requisição síncrona (pois o terceiro parâmetro da função open é false). Ou seja, a execução do código pára no método send() enquanto a requisição não retorna do servidor. Importante! O suporte à requisições síncronas com XMLHttpRequest será removido em versões futuras do javascript. Por isso é mais indicado fazer requisições assíncronas! Embora esse processo de remoção possa demorar anos. Com requisições assíncronas, o código continua sendo executado mesmo que o servidor não tenha respondido à requisição ainda. O código abaixo mostra como fazer uma requisição HTTP assíncrona com XMLHttpRequest. var url = "https://dicasdejavascript.com.br/exemplo.txt";//Sua URL var xhttp = new XMLHttpRequest(); xhttp.open("GET", url, true); xhttp.onreadystatechange = function(){//Função a ser chamada quando a requisição retornar do servidor if ( xhttp.readyState == 4 && xhttp.status == 200 ) {//Verifica se o retorno do servidor deu certo console.log(xhttp.responseText); } } xhttp.send();//A execução do script CONTINUARÁ mesmo que a requisição não tenha retornado do servidor Repare que a execução do código principal não vai parar agora que o terceiro parâmetro da função open é true. O retorno da requisição é recuperado pela função configurada no atributo onreadystatechange do seu objeto XMLHttpRequest. Exemplo completo O código abaixo mostra um exemplo completo de código javascript que implementa o exemplo acima, embutido em uma página HTML simples. Exemplo de requisição HTTP GET com javascript puro

Professores particulares de JavaScript

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 70 / h
Lucas M.
Maceió / AL
Lucas M.
4,4 (36 avaliações)
Horas de aulas particulares ministradas 373 horas de aula
Tarefas resolvidas 2 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
JavaScript ES6 Jquery JavaScript - Estrutura Condicional ou de Seleção
Especialização: Segurança e defesa cibernética (Unninter)
Aulas presenciais e online de computação e programação com foco em projetos reais.
R$ 70 / h
Vinícius B.
Santo André / SP
Vinícius B.
5,0 (13 avaliações)
Horas de aulas particulares ministradas 21 horas de aula
Tarefas resolvidas 5 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
JavaScript - Estrutura Condicional e operadores lógicos. Expressões lógicas. JavaScript - Estrutura de Repetição Condicional JavaScript - Back-End
MBA: Business Intelligence (Faculdade Descomplica)
Te ensino a programar. Professor de programação, com 5 anos de atuação em .net, sql, entity framework, scrum etc.
R$ 50 / h
Gustavo A.
Campina Grande / PB
Gustavo A.
5,0 (2 avaliações)
Horas de aulas particulares ministradas 7 horas de aula
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
JavaScript - Estrutura Condicional e operadores lógicos. Expressões lógicas. Javascript Geral JavaScript Básico
Graduação: Engenharia da Computação (IFPB - Campus Campina Grande )
Desenvolvedor web python e javascript. Acompanhamento particular em python, html,css e javascript