login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[AJAX] Na PHP update ajax functie defect.

Offline nick5556 - 04/06/2013 14:15
Avatar van nick5556PHP beginner Hallo,

Wij hebben een relatief oud systeem en omdat wij over moeten naar IBAN met een iDEal Module was het nodig om te updaten naar PHP 5.4(we zaten op 5.3).

Nu hebben wij de volgende functie om bepaalde ajax requests uit te voeren en deze geeft een foutmelding terug, ik heb deze alleen niet zelf gemaakt deze is gemaakt door een voorganger.

De functie is als volgt:
  1. function ajax(url, element, post, onReady) {
  2. var http_req = new XMLHttpRequest();
  3. if(undefined == element.store_height) {
  4. element.store_height = element.style.height;
  5. }
  6. element.style.height = element.clientHeight + 'px';
  7. element.innerHTML = '<center><img src="images/loading.gif" alt="Loading..." /></center>';
  8.  
  9. http_req.open("POST", url, true);
  10. http_req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  11.  
  12. http_req.onreadystatechange = function()
  13. {
  14. if(http_req.readyState == 4 && (http_req.status == 200 || http_req.status == 500))
  15. {
  16. if( http_req.status == 500) {
  17. http_req.responseText = 'Error:500!'+http_req.responseText;
  18. }
  19. element.innerHTML = http_req.responseText;
  20. element.style.height = element.store_height;
  21. eval(onReady);
  22. //fire_event(document, 'load');
  23. fire_event(window, 'load');
  24. }else if(http_req.readyState == 4) {
  25. alert('Error: '+http_req.status);
  26. }
  27. }
  28. http_req.send(post);
  29. return true;
  30. }


De foutmelding die we krijgen is een alert met een '0'(de status).

Nu heb ik hier wel wat op gezocht en dat geeft aan dat de request niet geïnitialiseerd was.

PS: Ik vind het vreemd, voor de PHP update werkte deze functie nog wel, verder is er geen javascript veranderd.

3 antwoorden

Gesponsorde links
Offline Koen - 04/06/2013 14:22
Avatar van Koen PHP expert http_req.statusText zegt misschien meer.

Ik zou eens overwegen om over te stappen op jQuery oid.
Offline nick5556 - 04/06/2013 14:52 (laatste wijziging 04/06/2013 14:54)
Avatar van nick5556 PHP beginner Dit is ook de bedoeling, maar omdat we nu snel over moesten naar de nieuwe PHP versie is die stap weer in prioriteit omlaag gegaan.

We zijn al bezig om het hele systeem opnieuw te programmeren.

EDIT:

Status Text is leeg.
Offline Martijn - 04/06/2013 15:47
Avatar van Martijn Crew PHP Ajax via jQuery hier plaatsen gaat vele malen sneller dan dit ontcijferen.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.167s