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
<script type="text/javascript"> $(document).ready(function() { $("a.glosowanie_odn").click(function() { container = $(this).parents("div.glosy"); post_id = container.find(".ukryte_id").html(); if($(this).hasClass("glosuj_plus")) typ = 'plus'; else typ = 'minus'; $.ajax({ cache : true, type : 'post', url : 'index/glosuj?format=json', data : { 'post_id' : post_id, 'typ' : typ }, dataType: 'json', success: function(data) { if(data.wynik.result == 1) { // jeli poprawnie zapisano głos container.find(".ocena").html(data.wynik.wynik); container.find(".liczba").html(data.wynik.ilosc); container.find(".kom").html(data.wynik.thx); } else if(data.wynik.result == 2) { alert("Zaloguj się"); } else if(data.wynik.result == 3) { alert("Już głosowałe"); } else if(data.wynik.result == 4) { alert("nie możesz głosować na swoje dzieło"); } else { alert("bład podczas przesylania danch. Spróbuj ponownie."); container.find(".ocena").html(data.wynik.wynik); container.find(".liczba").html(data.wynik.ilosc); } } }); }); }); </script>
IndexController
function init(){ $this->view->baseUrl=$this->_request->getBaseUrl(); Zend_Loader::loadClass('Post'); Zend_Loader::loadClass('Zend_File_Transfer'); Zend_Loader::loadClass('Zend_Auth'); Zend_Loader::loadClass('Zend_Filter_StripTags'); Zend_Loader::loadClass('Zend_Mail'); Zend_Loader::loadClass('Vote'); $contextSwitch = $this->_helper->getHelper('contextSwitch'); $contextSwitch->addActionContext('glosuj', 'json') ->initContext(); }
Co z tym zrobić, z góry dzięki za pomoc