Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [advAJAX] download pliku, jak wywołać efekt 'zapisz jako...'
Darti
post
Post #1





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Witam

Jak zmusić ajax do wysłania pliku do użytkownika ? Chodzi mi o efekt podobny do tego z PHP za pomocą header().
Próbowałem już różnych metod, np takie coś (sorry za tag PHP ale ładnie składnie koloruje):
  1. <?php
  2. // funkcja finalnie ma zwracać plik pdf, ale jak zadziala chociaz z tekstem to i z
     pdf'em musi ;)
  3. function ReportAsPdf(){
  4. advAJAX.get({
  5. url: "index.php?action=getpdf",
  6. parameters : {
  7. // trzy dynamiczne tablice, ktore finalnie maja byc całkiem spore, 
  8. // dlatego AJAX i metoda POST
  9. "unfoldedItems" : unfoldedItems.join(','),  
  10. "allItems" : allItems.join(','),
  11. "allRowItems" : allRowItems.join(',')
  12. },
  13.  headers : {
  14. "Content-Disposition" : "attachment; filename=plik.txt",
  15. "Content-Type" : "application/x-unknown"
  16. },
  17. uniqueParameter: "custom_unique_param",
  18. onSuccess : function(obj) {
  19. document.open();
  20. document.write(obj.responseText);
  21. document.close();
  22. },
  23. onError : function(obj) { alert("Error: " + obj.status); }
  24. });
  25. }
  26. ?>

ale zamiast próby pobrania zawartości to wpisuje mi ją do przeglądarki. Ustawiałem również nagłówki w pliku php i jak wywołam ten plik php osobno to pojawia się "zapisz jako" a w w/w sposób nie chce ...

Proszę pomóżcie

Ten post edytował Darti 10.11.2007, 10:54:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


przecież sam zapisujesz to co przysyła serwer do struktury dokumentu w linijce:
Kod
document.write(obj.responseText);

a powinienieś zrobić w tym miejscu coś w rodziaju: javascript write file exmple

Powodzenia...
Go to the top of the page
+Quote Post
Darti
post
Post #3





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Cytat(nevt @ 10.11.2007, 12:20:57 ) *
a powinienieś zrobić w tym miejscu coś w rodziaju: javascript write file exmple

Powodzenia...


pod IE hula aż miło, pod FF niestety nie (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
rezygnuje tutaj z Ajaxa ... zrobię to jako zwykły formularz do nowej strony z metodą post a dane prześlę sobie za pomocą dynamicznie generowanych pól typu hidden.
albo drugie rozwiązanie - window.open tylko nie wiem jak do takiego okna przekazać dane typu POST...
albo trzecie - roboczy malusieńki iframe schowany gdzieś dla niepoznaki ...
sam nie wiem

Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 18:12