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

  • Thorus
    hat ein Thema erstellt [Erledigt] Ajax Header Problem.

    [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

  • BlackScorp
    antwortet
    habe ich schon im post Nr4 gesagt

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    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

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    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

    Einen Kommentar schreiben:


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

    Danke @ all

    Mfg
    Thorus

    Einen Kommentar schreiben:


  • Thorus
    antwortet
    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!

    Einen Kommentar schreiben:


  • cycap
    antwortet
    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?

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    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)

    Einen Kommentar schreiben:


  • Thorus
    antwortet
    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>';

    ?>

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    Shick mal dein Quellcode.. so können wir nur raten.. wie zb. stehen vllt irgendwelche echos vor dem eruzeugen des documents?

    Einen Kommentar schreiben:

Lädt...
X