![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 18.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pytanko całą komunikację przeprowadzam poprzez np.index.php?controller=page1 chcę wprowadzić ładowanie podstron poprzez funkcję ajax'a która wywołuje np. <a href="java script:ajaxpage('index.php?controller=page1', 'content');">page1</a>.Teraz zastanawiam się jak najlepiej będzie zroibć komunikacje w takim wypadku?Nie mogę używać tak jak wcześniej index.php?controller=page1 bo wtedy do diva dostaję całą stronę. Istnieje jakiś sposób żebym całość przeprowadzał dalej przez index.php korzystając z ajaxa nie używajać ...ajaxpage('page1.php', 'content').....? kombinowałem tak ,ale wydaje mi się ,że tak jest "brzydko" ktoś ma pomyśl jak to zrobić inaczej? //layout.phtml
//funkcja controller'a
nikt nie umie czy nie chce mi pomóc?
Powód edycji: [webdice]:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%) ![]() ![]() |
1. Nie przeplataj tagów html takich jak <a href="..."> kodem javascript.
2. Zainteresuj się jedną z nowoczesnych bibliotek js. polecam jQuery. -------------------- .:SMENTEK:.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Namieszałeś chłopie.
Poczytaj dokumentację jQuery tak, jak napisał mój przedmówca. Wtedy wystarczy, że do linka przypiszesz unikalne id, a następnie wywołasz zdarzenie (click), w którym wywołasz funkcję (load) i załadujesz do wybranego elementu (np. diva), któremu też przypiszesz unikalne id, wygenerowany wynik. Kod w jQuery zajmie kilka linijek, a w PHP generujesz czysty tekst. -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 11 Dołączył: 27.10.2010 Skąd: Kutno/Poznań Ostrzeżenie: (0%) ![]() ![]() |
jeżeli chodzi o pomysł na wczytywanie stron ajaxem to mam dobry patent. Przy wysyłaniu zapytania możesz wysyłać w get ?ajax=true. Jeżeli masz taką wartość to wyświetlasz tylko treść strony, a jeżeli jej nie masz, to wyświetlasz całą stronę.
Tak jak koledzy wyżej proponują - wykorzystaj jQuery albo innego frameworka, zapytania w nim wyglądają w następujący sposób: $.post('adres/strony',{ajax:true},function(data){ $("#content").html(data); }); Jeżeli chcesz na szybko przerobić stronę w wczytywanie ajaxem to możesz zrobić następująco: $(document).ready(function(){ $("a").click(function(){ $.post($(this).attr('href'),{ajax:true},function(data){ $("#content").html(data); }); return false; }) }) Przy użyciu powyższego kodu, każdy link na stronie wczytuje stronę - jeżeli masz założonego if'a w php o którym pisałem na początku, to powinno wszystko elegancko śmigać. Sukcesów życzę. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 15.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dodam tylko, że nie musi to być koniecznie jQuery - równie dobrze możesz użyć Prototype albo Dojo.
|
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Przenoszę, problem nie ma nic wspólnego z programowaniem obiektowym.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 12:35 |