Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logika kodu w MVC + AJAX
pabito
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 4
Dołączył: 14.05.2013

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


Witam
Poniżej opiszę sytację nad którą mam problem. Moim problemem jest rozmieszczenie funkcji które są wywoływane poprzez AJAX
Załóżmy taka sytuację.
Mam pewien kontoller a w nim metode add($name)

  1.  
  2. Moj_Controller extends Controller
  3. {
  4. public function add($name){
  5. //jest tuutaj ladowany model Moj_Model
  6. //nastepnie wywoluje metode add Moj_Model
  7. $this->Moj_Model->add($name);
  8.  
  9. //teraz laduje widok ze wszystkimi elementami
  10. $this->load->view('jakis_widok');
  11. }
  12. }


nastepnie moj model wyglada tak
  1. Moj_Model extends Model
  2. {
  3. public function add($name){
  4. //dodaje element o name=$name
  5. }
  6. }


wszystko działa dobrze, po kliknięciu w dany link element zostaje dodany oraz ponownie wyświetlona lista elementów(z ładowanego widoku) z tym ze dochodzi do przeładowania strony.

I teraz moje pytanie jak dodać tutaj obsługę AJAX, skoro metoda add na końcu ładuje widok ? A mi potrzebne jest np. ID ostatniego rekordu. Jak mam to zrobić ? Musze zrobić osobne metody w Controlerze i Modelu do obsługi AJAXowych żądań ?
np. tak ?
  1. Moj_Controller extends Controller
  2. {
  3. public function add($name){
  4. //jest tuutaj ladowany model Moj_Model
  5. //nastepnie wywoluje metode add Moj_Model
  6. $this->Moj_Model->add($name);
  7.  
  8. //teraz laduje widok ze wszystkimi elementami
  9. $this->load->view('jakis_widok');
  10. }
  11.  
  12. public function ajax_add($name) {
  13. $this->Moj_Model->ajax_add($name);
  14. }


Ten post edytował pabito 11.06.2013, 08:39:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Cytat
Pytanie po co ajax ma ładować widok, po jego detekcji robisz exit, ewentualnie wysyłasz json.

Po to należy załadować widok żeby wyświetlić/wysłać/wyrenderować json. Kontroler ma wybrać odpowiedni widok (na podstawie żądania) i go wyświetlić, niezależnie od tego czy będzie to html, json czy pdf. O wywołaniu exit należy zapomnieć, po pierwsze źródło żądania nie ma pojęcia co się stało. Dodatkowo nie wykonają się żadne zadania konieczne do wykonania już po akcji.
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: 7.03.2026 - 03:57