Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Ajax Header Problem

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Ajax Header Problem

    Hi,

    Ich schicke einen JSON String an ein php-Skript welches daraus ein Excel-File generiert, als XML den link zum file an den client zurueckschickt und dieser ihn dann oeffnet!

    Soweit so gut, allerdings beim erstellen des Excel-Skript wird ein Header erzeugt, und deswegen bekomme ich beim erstellen der xml-response eine Fehlermeldung! Header already been sent! Verzichte ich beim XML auf den Header kommt nur null an, setze ich die Header erstellung an den anfang des Skriptes kommt:

    XML Parsing Error: junk after document element
    Location: http://jonas.rottmann-moebel.de/Mein...94509006778633
    Line Number 1, Column 82:

    Weiss jmd wie ich dieses Problem loesen kann?
    Danke schonmal fuer Eure Hilfe
    Thorus
    http://rottmann-moebel.de/


  • #2
    Shick mal dein Quellcode.. so können wir nur raten.. wie zb. stehen vllt irgendwelche echos vor dem eruzeugen des documents?
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Das PHP-Skript:

      <?
      /*including phpexcel class*/



      $JSN = $_POST["JSN"];
      $JSN = stripslashes($JSN);
      $result = json_decode($JSN,true);
      $objPHPExcel = new PHPExcel();

      $objPHPExcel->setActiveSheetIndex(0);

      $column = 0;
      $row = 1;
      foreach ($result as $key){
      foreach ($key as $element){
      $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($column,$row, $element);
      $column++;
      if ($column == 10){
      $column = 0;
      $row++;
      }
      }
      }


      $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

      $objWriter->save('/var/www/web502/html/Jonas/Meins/hallo.xls');

      //header erzeugen



      $file = 'http://jonas.rottmann-moebel.de/Meins/hallo.xls';
      echo '<a href="'.$file.'" target="_blank">BLA</a><br>';

      header('Content-Type: text/xml');
      echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
      echo '<response>';
      echo $file;
      echo '</response>';

      ?>
      http://rottmann-moebel.de/

      Kommentar


      • #4
        das hier

        PHP-Code:
        header('Content-Type: text/xml'); 
        steht immer am anfang(unter session_start(), falls vorhanden), davor darf keine ausgabe erfolgen, dieser header gilt dann für die gesamte datei unabhängig was drin passiert(es seidenn weiterleitung)
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

        Kommentar


        • #5
          mal abgesehen davon, warum gibst du erst einen Link aus:

          Code:
          echo '<a href="'.$file.'" target="_blank">BLA</a><br>';
          und danach erst den rest?

          Kommentar


          • #6
            Ok, aber dann hab ich das problem dass das Excel-File zwar generiert wird, ich aber das hier als ausgabe bekomme:

            XML Parsing Error: junk after document element
            Location: http://jonas.rottmann-moebel.de/Meins/div.php
            Line Number 1, Column 82:<a href="http://jonas.rottmann-moebel.de/Meins/hallo.xls" target="_blank">BLA</a><br><?xml version="1.0" encoding="UTF-8" standalone="yes"?><response>http://jonas.rottmann-moebel.de/Meins/hallo.xls</response>
            ---------------------------------------------------------------------------------^

            @cycap
            zum testen: ich kopiere den JSON-String von Hand in das Skript um auszuprobieren ob es denn funktioniert!
            http://rottmann-moebel.de/

            Kommentar


            • #7
              Hi,
              Wow genial, wenn ich das echo das gerade beanstanded wurde wegmache, bekomme ich keinen fehler mehr

              Danke @ all

              Mfg
              Thorus
              http://rottmann-moebel.de/

              Kommentar


              • #8
                ich denke es liegt am pfad, ich denke du kannst im XML nicht eine datei vom externen server laden. also müsste deine $file variable so lauten:

                $file = '/Meins/hallo.xls';

                bin mir nicht sicher aber versuchen , kostet nichts
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                Kommentar


                • #9
                  Nein, es liegt daran:
                  PHP-Code:
                  echo '<a href="'.$file.'" target="_blank">BLA</a><br>';

                  header('Content-Type: text/xml'); 
                  Headers already sent - PHP.de Wiki
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    habe ich schon im post Nr4 gesagt
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                    Kommentar

                    Lädt...
                    X