Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] Wykonanie pliku php z wyświetleniem komunikatu w tle lub generowanie pliku XML, W jaki sposób wykonać instrukcje PHP bez przeładowania strony
mxm
post 29.01.2019, 08:14:55
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 9.06.2005

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


Witam serdecznie.

Mam duży problem ze znalezieniem rozwiązania na temat w jaki sposób we frameworku PHP Kohana wraz z zainstalowanym Angularem:
- wykonać instrukcje z pliku PHP (w moim przypadku jest to przygotowanie danych do XML wraz z połączeniem się do bazy danych).
- w przypadku błędu - wyświetlenie w postaci komunikatu JSON::status - komunikat w tle (aby było to możliwe nie mogę przeładować strony)
- w przypadku braku błędów - rozpoczęcie procedury generowania i pobierania pliku XML (czyli, żeby pojawiło się okno pobrania pliku w przeglądarce).

Nie będę tego robił od początku, ale chciałbym modyfikować istniejący już kod.

Byłbym wdzięczny za naprowadzeniem mnie na pomysł w jaki sposób to zrealizować. Nie jestem aż tak dobrze zaznajomiony z Angularem, ale bez niego chyba się nie uda.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sabat24
post 29.01.2019, 22:32:53
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

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


Angular jako tako jest tu bez znaczenia, bo zasada działania jest praktycznie taka sama w każdym froncie. Wysyłasz request ajaxem. W backendzie tworzysz sobie jakieś restowe API albo obsługujesz normalne zapytanie GET czy POST przesłane przez front. Następnie front obsługuje odpowiedź, którą zwrócił backend.

Nie bardzo rozumiem Twoje pierwsze pytanie. Nie ma znaczenia, czy wyślesz żądanie przez angular, czy wpiszesz sobie w przeglądarkę jakikolwiek adres i otrzymasz odpowiedź w ten sposób. Później taką odpowiedź obsługujesz dynamicznie przez front i albo wyświetlasz błąd zwrocony przez backend albo zlecasz przeglądarce pobranie pliku, który został wygenerowany przez backend. Do uruchomienia samego pobierania pliku przez ajax, możesz użyć np. tego skrypciku http://danml.com/download.html
Można też zrobić redirect w przeglądarce na jakiś adres do backendu i w nagłówku wymusić pobieranie pliku XML. Wtedy przeglądarka rozpocznie pobieranie i nie zmieni swojego adresu (chyba, że użytkownik ma wymuszone otwieranie takiego pliku w przeglądarce, wtedy to nie zadziała). Możesz też użyć techniki z iframem stworzonym dynamicznie, któremu wrzucasz adres URL do backendu i backend generuje Ci ten plik i przesyła odpowiednie nagłówki oraz body.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:53