login  Naam:   Wachtwoord: 
Registreer je!
 Forum

http.responseText

Offline Dlol - 17/12/2008 14:13 (laatste wijziging 17/12/2008 14:14)
Avatar van DlolLid Hallo,

Ik heb nu deze code:

  1. [code=default]
  2. var http3 = createObject();
  3.  
  4. function sendNewsId(id) {
  5.  
  6. http3.open('get', 'dat/getnews.php?id='+id);
  7. http3.onreadystatechange = handleNews;
  8. http3.send(null);
  9.  
  10. return(toreturn);
  11.  
  12. }
  13.  
  14. function handleNews() {
  15.  
  16. if (http3.readyState == 4 && http3.status == 200) {
  17.  
  18. if (http3.responseText) {
  19.  
  20. toreturn = http3.responseText;
  21.  
  22. }
  23.  
  24. }
  25.  
  26. }
  27.  
  28. var http3 = createObject();
  29.  
  30. item = sendNewsId('5');
  31.  
  32. alert(item);


Ik wil hiermee bereiken dat de alert de inhoud van het newsitem geeft. (De alert wordt nog vervangen door iets anders, maar het is gewoon om te zien of het klopt.)
getnews.php haalt het newsitem uit de database, een ik wil het verder op mijn pagina gebruiken dmv een ActiveXObject (of hoe het ook mag heten) zodat ik de pagina niet hoef te herladen voor elk newsitem.
In FireFox geeft mijn alert wat ik wil, maar in Chrome, Opera of IE doet-ie dat niet. Kent er iemand een manier hoe ik de responseText in een variabele kan zetten en die zo verder gebruiken?

Dank bij voorbaat!

9 antwoorden

Gesponsorde links
Offline Koen - 17/12/2008 14:24
Avatar van Koen PHP expert
  1. var toreturn;
  2. var http3 = createObject();
  3.  
  4. function sendNewsId(id) {
  5.  
  6. http3.open('get', 'dat/getnews.php?id='+id);
  7. http3.onreadystatechange = handleNews;
  8. http3.send(null);
  9.  
  10. return(window.toreturn);
  11.  
  12. }
  13.  
  14. function handleNews() {
  15.  
  16. if (http3.readyState == 4 && http3.status == 200) {
  17.  
  18. if (http3.responseText) {
  19.  
  20. toreturn = http3.responseText;
  21.  
  22. }
  23.  
  24. }
  25.  
  26. }
  27. var item = sendNewsId('5');
  28. alert(item);


En dit?
Offline marten - 17/12/2008 14:26
Avatar van marten Beheerder Waarom overschrijf je in regel 28 de http3 weer? Verder zou ik regel 30 schrijven als var item = . Krijg je errors in je code javascript console?
Offline Dlol - 17/12/2008 14:30 (laatste wijziging 17/12/2008 14:54)
Avatar van Dlol Lid @ Marten: Sorry, dat was niet de bedoeling. Dit komt doordat de code in twee verschillende bestanden staat. Ik had het ff bijeen gezet en blijkbaar niet genoeg opgelet.

Bij FirefOx krijg ik vanzelfsprekend geen foutmeldingen, als ik inde error console van Chrome intyp: "print toreturn" geeft-ie weer wat ik nodig heb, maar als ik intyp "print item" is het een undefined, en IE geeft dit: Webpage Script Errors

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
Timestamp: Wed, 17 Dec 2008 13:42:28 UTC

0.
Message: Deze actie wordt niet ondersteund door dit object
Line: 80
Char: 1
Code: 0
URI: http://seba_thuis:8080/SPB/spb.php



@sliphead: Nee geen verschil, FireFox doet het, Chrome geeft undefined, en IE geeft zelfs helemaal geen alert.
Offline marten - 17/12/2008 14:58
Avatar van marten Beheerder Installeer dit eens op je pc. Zo kan je wat beter zien wat de fout in IE veroorzaakt:

http://www.jona...g_jav.html
Offline Dlol - 17/12/2008 15:07
Avatar van Dlol Lid Hmmm, is er nog ergens iets waar ik dit kan downloaden? Ik heb Office 2007, en op mijn pc kan ik het nergens vinden... Als ik het wil downloaden van de site van Microsfot heb ik een validatiecode nodig...
Offline marten - 17/12/2008 15:11
Avatar van marten Beheerder En hij staat niet bij Internet Explorer > Beeld ?
Offline Dlol - 17/12/2008 19:12
Avatar van Dlol Lid Aha, nu staat-ie er wel bij... Daarstraks niet, maar wellicht was dat omdat ik IE nog moest heropstarten nadat ik disable debugging afgezet had...
Maar het levert me wel niet veel op. Als ik de pagina open geeft hij een melding dat er een bug is, en hij vraagt of ik wil debuggen. Ik druk op ja, en ik krijg geen reactie.
Ook als ik via view hem opstart krijg ik geen reactie..
Offline marten - 18/12/2008 09:28 (laatste wijziging 18/12/2008 09:28)
Avatar van marten Beheerder Mja ik denk dat je gewoon een illegale windows hebt........ en als mijn tip daardoor niet werkt heb je gewoon pech en moet je verder gaan zoeken.

  1. function createRequestObject() {
  2.  
  3. var req;
  4.  
  5. if(window.XMLHttpRequest){
  6. req = new XMLHttpRequest();
  7. } else if(window.ActiveXObject) {
  8. req = new ActiveXObject("Microsoft.XMLHTTP");
  9. } else {
  10. req = NULL;
  11. alert('Probleem met het aanmaken van hetXMLHttpRequest object');
  12. }
  13.  
  14. return req;
  15.  
  16. }
  17.  
  18. var http = createRequestObject();
  19.  
  20. function sendRequestFout(foutmelding) {
  21. var j = 'errorhandler.php?fout='+foutmelding;
  22. http.open('get', j);
  23. http.onreadystatechange = handleResponseSearch;
  24. http.send(null);
  25. }
  26.  
  27. function handleResponseSearch() {
  28.  
  29. if(http.readyState == 4 && http.status == 200){
  30. if(http.responseText) {
  31. document.getElementById("foutmelding").innerHTML = http.responseText;
  32. } else {
  33. document.getElementById("foutmelding").innerHTML = '';
  34. } :cool:
  35. }
  36. }


Dit is een werkend voorbeeld die in alle browsers werkt. Ik gebruik deze namelijk in een website.
Offline Dlol - 18/12/2008 11:25
Avatar van Dlol Lid Ja het zou kunnen dat die Office niet helemaal goed zit.. Het is namelijk geïnstalleerd op mijn pc en ook nog op de pc beneden, en op nog heel wat andere pc's dusja...

En dat voorbeeld dat je geeft, dat is eigenlijk wat ik juist niet moet hebben. Ik moet de responseText niet in een element op mijn pagina zetten, ik moet hem in een variabele krijgen, sendNewsId moet dan die variabele teruggeven zodat ik hem dan in een array kan gaan stoppen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.187s