Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Jquery wykonuj się w jednym akcji
istrd
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

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


Witam,
Mój problem polega na tym, że jquery działa mi tylko w akcji index. Mam tak samo zbudowaną akcję poczekalnia gdzie trafiają nie akceptowane posty jest taki sam plik index.phtm oraz poczekalnia.phtmll kod jquery mam wstawiony header.phtml ten jest z kolei includowany w obu plikach index.phtml i poczkealnia.phtml. Ogólnie skrypt działa.
Skrypt wykonuje się tylko dla url
http://localhost/zend/index jeśli dodam na koniec znak "/" czyli wtedy mam http://.../zend/index/ lub wpisze http://.../zend/index/index wtedy się nie wykonuje w akcji poczekalnia nie działa w ogóle. Oczywiscie akcje są w tym samym kontrolerze.

header.phtml
  1. <script type="text/javascript">
  2. $(document).ready(function()
  3. {
  4. $("a.glosowanie_odn").click(function()
  5. {
  6. container = $(this).parents("div.glosy");
  7. post_id = container.find(".ukryte_id").html();
  8. if($(this).hasClass("glosuj_plus"))
  9. typ = 'plus';
  10. else
  11. typ = 'minus';
  12. $.ajax({
  13. cache : true,
  14. type : 'post',
  15. url : 'index/glosuj?format=json',
  16. data : {
  17. 'post_id' : post_id,
  18. 'typ' : typ
  19. },
  20. dataType: 'json',
  21. success: function(data)
  22. {
  23. if(data.wynik.result == 1)
  24. {
  25. // jeœli poprawnie zapisano głos
  26. container.find(".ocena").html(data.wynik.wynik);
  27. container.find(".liczba").html(data.wynik.ilosc);
  28. container.find(".kom").html(data.wynik.thx);
  29. }
  30. else if(data.wynik.result == 2)
  31. {
  32. alert("Zaloguj się");
  33. }
  34. else if(data.wynik.result == 3)
  35. {
  36. alert("Już głosowałeœ");
  37. }
  38. else if(data.wynik.result == 4)
  39. {
  40. alert("nie możesz głosować na swoje dzieło");
  41. }
  42. else
  43. {
  44. alert("bład podczas przesylania danch. Spróbuj ponownie.");
  45. container.find(".ocena").html(data.wynik.wynik);
  46. container.find(".liczba").html(data.wynik.ilosc);
  47. }
  48. }
  49.  
  50. });
  51. });
  52. });
  53. </script>


IndexController
  1. function init(){
  2. $this->view->baseUrl=$this->_request->getBaseUrl();
  3. Zend_Loader::loadClass('Post');
  4. Zend_Loader::loadClass('Zend_File_Transfer');
  5. Zend_Loader::loadClass('Zend_Auth');
  6. Zend_Loader::loadClass('Zend_Filter_StripTags');
  7. Zend_Loader::loadClass('Zend_Mail');
  8. Zend_Loader::loadClass('Vote');
  9.  
  10. $contextSwitch = $this->_helper->getHelper('contextSwitch');
  11. $contextSwitch->addActionContext('glosuj', 'json')
  12. ->initContext();
  13. }
  14.  
  15.  


Co z tym zrobić, z góry dzięki za pomoc
Go to the top of the page
+Quote Post
KrzysiekWildfire
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 11
Dołączył: 27.10.2010
Skąd: Kutno/Poznań

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


w init, nie musisz ustawiać baseUrl, no i adres gdzie wysyłasz adres ustaw tak:
url : '<?=$this->baseUrl()?>/index/glosuj?format=json',
i powinno śmigać.
Go to the top of the page
+Quote Post

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: 1.10.2025 - 03:49