Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Ajax + jquery
Forum PHP.pl > Forum > PHP > Frameworki
MitS
Witam wszystkich.

Mam ogromny problem z przesłanie posta ajaxowego do kontrolera w zf.
Mianowicie mam taki oto kod:

w widoku:

  1. $.post("'.Zend_View_Helper_Url::url(array(), 'uploadPhoto', false).'", {
  2. data : "save",
  3. }, function(response){}, "json");


zas w kontrolerze taki:

  1. public function uploadphotoAction()
  2. {
  3. $this->_helper->layout()->disableLayout();
  4. $this->_helper->viewRenderer->setNoRender(true);
  5.  
  6. if ($this->getRequest()->isXmlHttpRequest())
  7. {
  8. if ($this->getRequest()->isPost())
  9. {
  10. print_r($this->_request->getPost());
  11. }
  12.  
  13. $data = array('123');
  14. echo Zend_Json::encode($data);
  15. }
  16. else
  17. {
  18. $this->_redirect('404');
  19. }
  20. }


moje pytanie brzmi: czemu nie ma posta w tym kontrolerze ?
Samo odwołanie do kontrolera działą i wypisują się dane - nie ma tylko posta na którym bardzo mi zależy.

Ma ktoś pomysł jak to naprawić ?
smentek
Cytat
Samo odwołanie do kontrolera działą i wypisują się dane - nie ma tylko posta na którym bardzo mi zależy.


Jak może działać skoro jest wywolywane postem którego podobno niema?

Jesteś pewien że zapytanie jest odbierane? Zdebugowałeś to w firebug albo innym narzędziu?
Sprawdź globalną tablicę: $_POST. Co jest w niej zawarte?
fander
Wydaje się mi że kolega chce wysłać obrazek tym skryptem... a tak się nie da
melkorm
  1. $.post("'.$this->url(array(), 'uploadPhoto', false).'", {
  2. data : {
  3. save : 'save'
  4. }
  5. }, function(response){}, "json");


  1. $this->_helper->layout()->disableLayout();
  2. $this->_helper->viewRenderer->setNoRender(true);
  3. //....
  4. echo Zend_Json::encode($data);


Za miast tego uzyj helper'a ContextSwitcher dla Ajaxa, wtedy nie musisz wyłączać layout'u i renderowania a także nie musisz parsować odpoiwedzi i robisz to normalnie poprzez
  1. $this->view->test = 'cokolwiek, tablica, obiekt, itp';

Wtedy Zend sam Tobie parsuje na JSON'a odpowiedź.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.