zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Erzeugen und Download von JSON-file fehlerhaft

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 21.05.2020, 00:25
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 79
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Ajax?
Bis jetzt ging es um Serverseigien Code. Die Frage bisher was, ob das im Browser ankommt das ist was du erwartest. Wenn es beim normalen Aufruf funktioniert, dann liegt es wohl am Ajax Code, den kennen wir aber nicht.
Im Browser kommt sogar mehr an als ich erwarte. So gibt mir console.log den ganzen Inhalt der Datei an.

AJAX request ist auskommentiert.

Code:
$("#JSON-export-full").on("click", function () {
  var url = window.location.href;
  window.location.href = url + "?action=download&variation=full";

  /*  $.ajax({
    type: "POST",
    url: "actions.php?action=createFullJson",
    data: "variation=full",
    success: function (result) {
      console.log(result);
    },
  }); */
});
actions.php (für AJAX request):
Code:
if($_GET['action'] == "createFullJson") {

        $file = createFile(createAJAX($connection,$_POST['variation']));
       // echo $file." is created";

        downloadFile($file);
    }

index.php (reload der Seite):
Code:
if($_GET['action'] == "download") {

  $file = createFile(createAJAX($connection,$_GET['variation']));
      //  echo $file." is created";

        downloadFile($file);
}
Ich hab das echo $file." is created"; in index.php und action.php auskommentiert. Seltsam, dass das bei index.php einfach mit in die Datei reingeschrieben wird.

Geändert von Iago2 (21.05.2020 um 00:32 Uhr)
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 21.05.2020, 11:11
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.949
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das ist ein ziemliches durcheinander. Die Frage ist aber nach wie vor, warum der download Dialog nicht angezeigt wird?

Da bis hierhin kein offenischtlicher Fehler zu sehen ist, solltest du ganz vorne anfangen und prüfen, was dein Browser macht wenn er diesen Header bekommt. Das geht einfach in dem du dir nur diesen ausgeben läßt.

So könnte eine test.php aussehen:
PHP-Code:
<?php
header
('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="test.php"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: 0');
Wird damit der Dialog angezeigt?
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 21.05.2020, 21:56
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 79
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
You can't "download a file using AJAX". AJAX is about downloading data from a server for JavaScript to process.

To let the user download the file either use a simple link to the file/servlet, or if you really, really need to use JavaScript, then assign the URL to document.location.href.
Quelle(1) stackoverflow

Zitat:
It's not about AJAX. You can download a file with AJAX, of course. However the file will be kept in memory, i.e. you cannot save file to disk. This is because JavaScript cannot interact with disk. That would be a serious security issue and it is blocked in all major browsers.

Quelle(2): stackoverflow

Schulmeisterlich geschrieben
Ich verweigere mich hier jedem Kommentar!
Mit Zitat antworten
  #14 (permalink)  
Alt 21.05.2020, 22:06
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.949
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich bin verwirrt, AJAX ist genau deshalb erfunden worden damit du JS Code vom Server nachladen kannst. Irgendwie verstehe ich den Sinn von dem was du vor hast nicht. Der AJAX Code ist dafür da, dass du mit dem "runtergeladenen" JS Code weiterarbeiten kannst. Also das der Repsonse im JS ankommt. Wenn du einen Download anstossen willst musst du diesen mit einem normalen Request anstossen.

Daher war mir nicht klar was du hier genau erwartest, bzw. warum deine Erwartung nicht eingetreten ist. Von Ajax war auch wenig zu sehen, deine header Angaben sind nicht vom AJAX Request.

Es ist immer hilfreich wirklich alle Informationen zu teilen.
Mit Zitat antworten
  #15 (permalink)  
Alt 22.05.2020, 12:22
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 30.01.2014
Beiträge: 2.074
cloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekannt
Standard

Ich bin auch verwirrt, aber ich denke hier soll gar nicht eine Lösung gefunden werden? Der Threadstarter möchte lediglich denkanstöße oder Bestätigungen für seine Sachen haben?

Mit Ajax kann keine Datei heruntergeladen werden, das stimmt.
Das heißt aber nicht, dass die Datei dann nicht gespeichert werden kann wenn die Daten per Ajax vom Server an den Browser geschickt wird.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php Download file nicht komplett Avadis Serveradministration und serverseitige Scripte 8 16.03.2012 12:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:02 Uhr.