XAJAX Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XAJAX Problem

    Hallo,

    ich habe einige Funktionen in XAJAX implementiert (u. a. dropdown Menues, die wiederum den Inhalt anderer Dropdown-Menues ersetzen. In meiner XAMPP localhost Umgebung läuft alles perfekt, auf meinem Rootserver auch. Nun habe ich eine neue Domain auf dem Rootserver eingerichtet, alle Scripts übertragen. Bis auf meine Dropdown Menues funktionieren alle XAJAX-Funktionen bestens.

    Beim Debuggen habe ich festgestellt, dass bis zum

    PHP-Code:
    $objResponse->assign('kontaktid''innerHTML'$ret); 
    alles richtig läuft. Die Daten in $ret sind da. Aber die <option> in <select> werden nicht ersetzt. Es ist zum Verzweifeln. Statt die neuen <option> Werte zu setzen, werden nur 2 Leerzeilen eingefügt ($ret ist definitiv mit den neuen Werten gefüllt).

    Hier der HTML Code:
    <select name='kontrahentid' id='kontrahentid' onChange="xajax_getKontakte(this.value); ">

    <select class='auswahl' id='kontaktid' name='kontaktid'>
    <option selected='selected' value='leer'>bitte Kontakt waehlen </option>
    </select>

    Gibt es da irgendeine Empfehlung, wie ich das Problem eingrenzen könnte?

  • #2
    mehr code preisgeben
    fehlerkonsole
    testalerts
    Die Milch bleibt ranzig!

    Kommentar


    • #3
      Fehlercodes totale Fehlanzeige, obwohl ich folgende Werte im Hauptteil (index.php) gesetzt habe:
      PHP-Code:
      ini_set("memory_limit""80M");
      error_reporting(E_ALL);
      ini_set('display_errors''on');
      ini_set('log_errors'1);
      ini_set('error_log'$pathlogfilename); 
      nach diesen Statements wird die Datei (ajaxfunktions.php) inluded, die die Funktion getKontake () enthält. Also müßten die doch wirksam sein? Oder muß ich in der Datei ajaxfunctions.php oder gar in der Funtion selbst die Stements nochmal setzen?

      Da das Script ja in zwei Umgebungen läuft, kann es doch nur an der Konfiguration der Domain liegen. Ich habe allerdings kein Unterschied im PLESK Setup gefunden.

      PHP-Code:
      function getKontakte($kontrahentid) {
          include (
      "initzentral.php");

          
      /*** get the Kontakt data ***/
          
      $titelobj = new titel;
          
      $titels $titelobj->arrayTitel();
          
      $anredenobj = new anrede;
          
      $anreden $anredenobj->arrayAnreden();

          
      $kontaktarray = array ();

          
      $sql "SELECT KontaktID, AnredenID, TitelID, Vorname, Name 
      FROM kontakte WHERE  KontrahentID=:kontrahentid ORDER BY Name ASC "
      ;
          try {
              
      $stmt $dbh->prepare($sql);
              
      $stmt->bindParam(':kontrahentid'$kontrahentid);
              
      $stmt->execute();
              foreach (
      $stmt as $row) {
                  
      $anredenid intval($row["AnredenID"]);
                  
      $titelid intval($row["TitelID"]);
                  
      $index intval($row["KontaktID"]);
                  if (
      $anredenid 0) {
                      
      $anrede $anreden[$anredenid];
                  } else {
                      
      $anrede "";
                  }
                  if (
      $titelid 0) {
                      
      $titel $titels[$titelid];
                  } else {
                      
      $titel "";
                  }
                  
      $kontaktarray[$index] = $anrede " " $titel " " 
      $row["Name"] . " , " $row["Vorname"];
              }
          } catch (
      PDOException $e) {
              
      $somecontent "\r\n Error!: " $e->getMessage() . " \r\n";
              
      $somecontent .= "\r\n SQL " $sql;
              
      $somecontent .= "\r\n Class/Method: dropdowndata.php/getKontakte \r\n ";
              
      $errorlog = new errorlog();
              
      $errorlog->writeErrorlogfileonly(directory$somecontent);
              die();
          }

          
      /*** a new xajax response object ***/
          
      $objResponse = new xajaxResponse();
          
      $objResponse->script("clearOption('kontaktid');");
          
      $objResponse->script
      ("document.forms['formAktionserfassung1'].kontaktid.options.length = 0;");


          
      /*** get the kontakte into a value ***/
          
      $objResponse->script("addOption('kontaktid', 'bitte Kontakt auswählen', 'leer');");
          foreach (
      $kontaktarray as $value => $text) {
              
      $objResponse->script("addOption('kontaktid', '" $text "', '" $value "');");
          }

          return 
      $objResponse;

      Falls jemand das assign Statement aus meinem ersten Posting vermisst: Ich habe die Funktion komplett umkodiert und mit script realisiert. Auch die umcodierte Version funktioniert auf einer Domain und localhost aber nicht in meiner neuen Domain. Also muß es iregndwie an der Domain-Config liegen.
      Zuletzt geändert von Stonebreaker62; 13.03.2008, 19:05.

      Kommentar


      • #4
        Vielleicht noch ne wichtige Zusatzinfo. Alle XAJAX Funktionen, die keine DB benötigen, funktionieren. Sobald DB Zugriffe erfolgen tritt bei der neuen Domain das Problem auf. Also muß es irgendwie an der DB hängen. Allerdings benutze ich genau dieselbe DB wie in der funktionierenden Domain. Also alles sehr rätselhaft.

        Kann es vielleicht daran liegen, dass ich für die neue Domain noch kein eigenes Zertifikat eingerichtet habe aber trotzdem per SSL übertrage?
        Zuletzt geändert von Stonebreaker62; 14.03.2008, 10:47.

        Kommentar

        Lädt...
        X