Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] AJAX / jQuery - metoda kontrolera nie działa, Akcja kontrolera nie zwraca json, jak odpalę ręcznie to zwraca
Insert
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 17.12.2007

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


Witam serdecznie,

Mam metodę kontrolera (http://localhost/module/controller/action), która odpala model i zwraca wynik zapytania w postaci JSON. Wszystko działa, jak odpalę to w przeglądarce jako zwykły url (http://localhost/module/controller/action), a kiedy chcę to dostać ajaksem - krzyczy, że zmienna obiektu klasy modelu nie jest obiektem. Próbowałem to zrobić omijając strukturę modułową - nic to nie dało, nadal nie daje rady załadować klasy modelu (a przy ręcznym odpaleniu adresu w przeglądarce działa jak należy). Z góry dziękuję za pomoc, poniżej niezbędne fragmenty kodu.

Oto, co zwraca firebug jako odpowiedź:
  1. <br />
  2. <b>Fatal error</b>: Call to a member function getAllBrands() on a non-object in <b>/home/x/application/modules/x/controllers/xController.php</b> on line <b>97</b><br />


Kod AJAX (jQuery):
  1. function getBrands(symbol)
  2. {
  3. var url = '/module/controller/action/symbol/' + symbol;
  4. var data = {};
  5. $.post(url,data,function(resp)
  6. {
  7.  
  8. },'json');
  9. }


Kod PHP akcji kontrolera (jak odpalę w przeglądarce odpowiedni adres - dostaję json z danymi - http://localhost/module/controller/action):
  1. $this->_helper->viewRenderer->setNoRender();
  2. $this->_helper->getHelper('layout')->disableLayout();
  3.  
  4. if(!$this->getRequest()->isXmlHttpRequest())
  5. //die('Ops... ajax request not found.');
  6.  
  7. $oVehicles = new Application_Model_Vehicles();
  8. $rows = $oVehicles->getAllBrands(); // to jest linia 97 pliku kontrolera
  9.  
  10. $result = array();
  11. if($rows)
  12. foreach($rows as $row)
  13. $result[$row->id] = $row->name;
  14.  
  15. header('Content-type: application/json');
  16. echo Zend_Json::encode($result);
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 Aktualny czas: 21.08.2025 - 03:01