Avatar billede ingeman Juniormester
26. juni 2024 - 14:40 Der er 13 kommentarer

Returner ikke alt

Hej,

oHttp = new ActiveXObject("Microsoft.XMLHTTP")
oHttp.open("post", "http://www.adresse.dk/website", false);
oHttp.send(null);

Hvordan kan man forøge størrelsen af det der returneres - for kun halvdelen med ?
Avatar billede ingeman Juniormester
26. juni 2024 - 14:41 #1
i oHttp.responseText
Avatar billede erikjacobsen Ekspert
26. juni 2024 - 15:05 #2
Aflæser du responseText i en onreadystatechange  funktion?
Avatar billede ingeman Juniormester
26. juni 2024 - 15:57 #3
nej - sådan her
oHttp.send(null);
 
  HentDKDataErKommet(oHttp.responseText);
Avatar billede ingeman Juniormester
26. juni 2024 - 15:58 #4
oHttp = new ActiveXObject("Microsoft.XMLHTTP")
oHttp.open("post", "http://www.adresse.dk/website", false);

oHttp.send(null);
HentDKDataErKommet(oHttp.responseText);
Avatar billede erikjacobsen Ekspert
26. juni 2024 - 16:38 #5
Så henter du data før det hele er hentet. Inspiration:

  https://www.w3schools.com/js/tryit.asp?filename=tryjs_ajax_ie
Avatar billede ingeman Juniormester
27. juni 2024 - 07:14 #6
Har prøvet det - gør ingen forskel
Avatar billede ingeman Juniormester
01. juli 2024 - 14:17 #7
Er der en anden måde at hente på - så man får det hele med ?
Avatar billede erikjacobsen Ekspert
01. juli 2024 - 14:41 #8
Vis os hvad du gør, som ikke virker.
Avatar billede ingeman Juniormester
01. juli 2024 - 15:09 #9
oHttp = new ActiveXObject("Microsoft.XMLHTTP");
  oHttp.open("post", "http://www.website.dk/Forecasts", false);
  oHttp.send(null);
HentDKDataErKommet(oHttp.responseText);

Helle siden kommer ikke i  oHttp.responseText
Avatar billede erikjacobsen Ekspert
01. juli 2024 - 15:12 #10
Og det gør det ikke fordi du ikke anvender callback-funktionen onreadystatechange
Avatar billede ingeman Juniormester
01. juli 2024 - 15:25 #11
oHttp = new ActiveXObject("Microsoft.XMLHTTP");
oHttp.open("post", "http://www.website.dk/Forecasts", false);
oHttp.onreadystatechange = function(){ HentDKDataErKommet(oHttp) };
oHttp.send(null);

Den returner stadig kun det samme - og ikke hele siden ?
Avatar billede erikjacobsen Ekspert
01. juli 2024 - 16:01 #12
Et eksperiment med data på 1 MByte. Jeg får det hele med:

<html>
<body>
<script>
  var oHttp;

  //oHttp = new ActiveXObject("Microsoft.XMLHTTP");

  if (window.XMLHttpRequest) {
    // code for modern browsers
    oHttp = new XMLHttpRequest();
  } else {
    // code for IE6, IE5
    oHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
oHttp.open("post", "https://ibumbum.bum/xxx.txt", false);
oHttp.onreadystatechange = function(){ console.debug(this.responseText) };
oHttp.send(null);

</script>
</body>
</html>
Avatar billede erikjacobsen Ekspert
01. juli 2024 - 17:00 #13
Spørgeren har været så venlig at sende mig den rigtige URL i en privat besked. Det angivne domæne har jeg ikke adgang til.

Men javascript og forespørgsler på tværs af domæner bliver ofte blokeret af browserens Cross Origin Resource Sharing, selv om man burde kunne sætte passende HTTP-headers som tillader det. Det kunne jeg så ikke lige umiddelbart finde ud af, trods et par forsøg.

Hvis det er forskellige domæner, så vil det være bedst at hente data fra det andet domæne på serveren (f.eks. PHP), end at gøre det i browserens javascript.

Er det samme domæne bør det virke umiddelbart.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester