![]() |
![]() |
![]() ![]()
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. |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 20:53 |