Brauche Hilfe beim dynamischen nachladen von abhängigen elementen mit AJAX

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

  • Ich habe hier mal noch meine aktuelle ajax.js

    Quellcode

    1. function sendSelBoxRequest(domref, target) {
    2. // skip if no target specified
    3. alert("läuft! domref="+domref+" target="+target.id);
    4. if(!target){
    5. alert ("des klappt nich");
    6. return false;
    7. }
    8. // save reference to next target
    9. if(domref) domref.followup = target;
    10. var req;
    11. try {
    12. req = window.XMLHttpRequest ? new XMLHttpRequest():
    13. new ActiveXObject("Microsoft.XMLHTTP");
    14. } catch (e) {
    15. alert( "Ihr Webbrowser unterstuetzt leider kein Ajax!" );
    16. }
    17. alert(req);
    18. req.open('post', 'ajax.php');
    19. alert(req);
    20. req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    21. alert(req);
    22. req.onreadystatechange = function() {
    23. if ((req.readyState == 4) && (req.status == 200)) {
    24. alert("Fertig!");
    25. alert(req.responseText);
    26. // merge empty line with response
    27. var data = eval('(' + req.responseText + ')');
    28. var targetRef = document.getElementById(target);
    29. var targetSel = targetRef.getElementsByTagName('select')[0];
    30. aler5t(data);
    31. aler5t(" "+targetRef);
    32. aler5t(" "+targetSel);
    33. // make it visible
    34. targetRef.style.display = 'block';
    35. // clear old data
    36. clearSelect(targetSel);
    37. // fill with data from json response
    38. var i=0;
    39. for(var x in data) {
    40. alert(" "+x)
    41. targetSel.options[i++] = new Option(
    42. data[x].name,
    43. data[x].id
    44. );
    45. }
    46. // clear all followups
    47. while(targetSel.followup) {
    48. targetRef = document.getElementById(targetSel.followup);
    49. // make it hidden
    50. targetRef.style.display = 'none';
    51. // mark next select
    52. targetSel = targetRef.getElementsByTagName('select')[0];
    53. // clear old data
    54. clearSelect(targetSel);
    55. alert("Followup deleted!");
    56. }
    57. }
    58. else {alert("Fehler: readystate "+req.readyState+" status "+req.status);}
    59. }
    60. alert(req);
    61. // send empty post with initial load
    62. req.send(domref !== null ? 'id='+domref.value+'&name='+domref.id : '');
    63. alert("bin durch! id="+domref.value+"&name="+domref.name);
    64. return false; // return false to avoid reload/recentering of the page
    65. }
    Alles anzeigen
  • der pfad is richtig, wen nich einen absoluten pfad angebe, dann bricht das script bei req.open(); ab. die rechte sind richtig vergeben.
    der server auf dem die dateien liegen ist ein linux-server. ich hab meine ajax funktion mal mit denen eines kumpels verglichen.
    bis darauf, das bei seinen die hintergrundfarbe eines bereiches geändert wird und bei mir halt ein select mit optionen gefüllt werden soll,
    seh ich keinen unterschied. Blos sein kram funktioniert halt
  • Ich glaub ich weiß jetz warum "req.status" immer 404 wird. wenn in der "ajax.php" für ":id" kein wert vorhanden dann sagt ja die mysql-abfrage
    das sie nichts gefunden hat und dadurch sagt die zweite auch das sie nichts gefunden hat... dadurch klappt dann die ganze datei nichts...
    oder lieg ich da jetz falsch? wie bekomm ich die id der gewählten kategorie darein? vllt mit id= $_REQUEST['id'] ?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von TheMansn ()

  • wenn ich das zitat richtig interpretiere ist in zeile 11 ein unerwartetes leerzeichen. bei der analyse der datei sind mir ein paar sachen aufgefallen, die gefehlt haben, bzw. die zu viel waren.
    ein unerwartetes leerzeichen ist mir aber nicht aufgefallen. Ich versteh immernoch nich warum der status immer 404 wird. die ajax.php ist definitiv erreichbar....
    Wenn ich morgen auf arbeit bin, guck ich noch mal drüber...

    ich hab dann noch mal die zip mit der korrigierten ajax.php angehängt
    Dateien

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von TheMansn ()

  • Du hast noch immer Syntaxfehler. Wie gesagt, einfach die ajax.php in deinem Webbrowser aufrufen und du kannst den Fehler selber sehen.

    FALSCH

    Quellcode

    1. #12 WHERE parent_id='$_GET['domref']'";
    2. #23 WHERE kategorie_id='$Child_id_Array[$g]'


    RICHTIG

    Quellcode

    1. #12 WHERE parent_id='".intval($_GET['domref'])."'";
    2. #23 WHERE kategorie_id="'.intval($Child_id_Array[$g]).'"


    Noch immer verstehe ich übrigens nicht, warum du den kompletten Code umgeschrieben hast.
    Die Schritte die tatsächlich nötig gewesen wären um von meinem Tutorial auf dein Ergebnis zu kommen, habe ich dir hier erläutert: Brauche Hilfe beim dynamischen nachladen von abhängigen elementen mit AJAX
  • Erstmal danke für die hilfe... aber bei mir kommt immernoch 404 für den status also muss der fehler noch irgendwo anders liegen...

    Torben Brodt schrieb:

    Noch immer verstehe ich übrigens nicht, warum du den kompletten Code umgeschrieben hast.
    Die Schritte die tatsächlich nötig gewesen wären um von meinem Tutorial auf dein Ergebnis zu kommen, habe ich dir hier erläutert: Brauche Hilfe beim dynamischen nachladen von abhängigen elementen mit AJAX


    wieso den kompletten code? bei der ajax.js hab ich n paar sachen anpassen müssen und hab n paar alerts als hilfe für die fehlersuche eingebaut und
    die ajax.php musst ich umschreiben, weil ich deine aus dem tutorial nicht verstanden habe und weil ich sie an die vorgaben anpassen musste,
    die mein ausbilder mir gegeben hat.

    Großes dankeschön für die Geduld und die Hilfe :) auch wenn ich jetzt um 9:00 nichts zum termin vorweisen kann :(
    Ich denke, ich werd euch öfters mal mit fragen nerven, weils bis jetz für mich so aussieht als ob hier echt nette leute unterwegs sind (in vielen anderen IT-foren wird man als newbie erst mal vollgeflamed und so)

    bis denn erstma

    Mansns
  • TheMansn schrieb:

    in vielen anderen IT-foren wird man als newbie erst mal vollgeflamed und so)

    Wir sind eben keine Retards :P.
    Ich würde dir empfehlen, dass du dir ein ganz einfaches Tutorial raussuchst und das mal Stück für Stück durchgehst, sodass du alles verstehst.
    Die Aufgaben von Daniel001 sind dafür wahrsch. besser geeignet, als wenn du schon direkt mit AJAX einsteigst ;).