Mit Ajax Php datei aufrufen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mit Ajax Php datei aufrufen

    Hi,

    hab de ne kurze Frage zu Ajax. Ich würde gern durch Javascript und Ajax ne Php Seite aufrufen. In der Php Datei soll einfach nur ein Eintrag in die Datenbank hinzugefügt werden. Jedoch hab ichs bisher nicht auf die Reihe gekriegt. Bin da eher noch noob in Ajax ^^. Hab dann mal gegoogled und versucht über folgendes beispiel das ganze zu versuchen. Jedoch führt er die Php Datei nicht aus.

    Quellcode

    1. <script type="text/javascript" language="javascript">
    2. var http_request = false;
    3. function macheRequest(url) {
    4. http_request = false;
    5. if (window.XMLHttpRequest) { // Mozilla, Safari,...
    6. http_request = new XMLHttpRequest();
    7. if (http_request.overrideMimeType) {
    8. http_request.overrideMimeType('text/xml');
    9. // zu dieser Zeile siehe weiter unten
    10. }
    11. } else if (window.ActiveXObject) { // IE
    12. try {
    13. http_request = new ActiveXObject("Msxml2.XMLHTTP");
    14. } catch (e) {
    15. try {
    16. http_request = new ActiveXObject("Microsoft.XMLHTTP");
    17. } catch (e) {}
    18. }
    19. }
    20. if (!http_request) {
    21. alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
    22. return false;
    23. }
    24. http_request.onreadystatechange = alertInhalt;
    25. http_request.open('GET', url, true);
    26. http_request.send(null);
    27. }
    28. function alertInhalt() {
    29. if (http_request.readyState == 4) {
    30. if (http_request.status == 200) {
    31. alert(http_request.responseText);
    32. } else {
    33. alert('Bei dem Request ist ein Problem aufgetreten.');
    34. }
    35. }
    36. }
    37. </script>
    38. <span
    39. style="cursor: pointer; text-decoration: underline"
    40. onclick="macheRequest('test.html')">Einen Request absetzen
    41. </span>
    Alles anzeigen


    weiss jmd rat?
  • ich nehme an du testest lokal, oder?
    im normalen dateisystem werden irgendwie keine http header gesendet
    wenn du die abfrage mit status == 200 entfernst, dann klappt dein code trotzdem

    den http header sendet wohl nur der webserver.. online klappts
    hier dennoch eine gekürzte version

    Quellcode

    1. <html><head>
    2. <script type="text/javascript">
    3. <!--
    4. try {
    5. req = window.XMLHttpRequest?new XMLHttpRequest():
    6. new ActiveXObject("Microsoft.XMLHTTP");
    7. } catch (e) {
    8. alert('kein ajax');
    9. }
    10. function macheRequest(url)
    11. {
    12. req.onreadystatechange = function() {
    13. if ((req.readyState == 4) && (req.status == 200)) {
    14. alert(req.responseText);
    15. } else {
    16. alert('Bei dem Request ist ein Problem aufgetreten.');
    17. }
    18. }
    19. req.open('get', url);
    20. req.send(null);
    21. }
    22. //-->
    23. </script>
    24. </head>
    25. <body>
    26. <span
    27. style="cursor: pointer; text-decoration: underline"
    28. onclick="macheRequest('test.html')">Einen Request absetzen
    29. </span>
    30. </body>
    31. </html>
    Alles anzeigen
  • gar nicht - das musst du schon alles ausgeben

    wenn du mehrere inhalte zurückgeben willst, hilft dir dieser wiki beitrag vielleicht:
    [coderwiki]HowTos/Ajax-Inhalte-mit-PHP-nachladen[/coderwiki]

    dort gibt die php z.b. diesen inhalt zurück
    id1||inhalt für id1||id2||inhalt für id2

    Quellcode

    1. var response = req.responseText;
    2. update = response.split('||');
    3. for(i=0; i<update.length; i+=2)
    4. document.getElementById(update[i]).innerHTML = update[i+1];