first of all zhx to both of you to be honest i have no clue if its post or ajax.
hmm, not sure if i get tilens advice.....so i gotta do router::url in controller or ise location.href in js? On Jan 22, 9:51 pm, Miles J <[email protected]> wrote: > Well if it is an AJAX call, just do a redirect in the JS within the > response. > > location.href = newUrl; > > Or > > location.reload(true); > > To refresh the current page. > > On Jan 22, 10:10 am, Tilen Majerle <[email protected]> wrote: > > > > > > > > > you are calling POST call via AJAX request, so, you can't use > > $this->redirect() in controller > > from controller method check if was ajax call, if it was, print code below > > in controller: > > > <meta http-equiv="refresh" content="0;url=<?php print > > Router::url($yourUrlArray, true); ?>" /> > > > and after print this, use exit or die; > > > what will this do: > > this will print this meta tag which will redirect with browser to your new > > url, you have to modify your javascript post method, that will handle > > result and display it in browser :) > > > <meta http-equiv="refresh" content="0;url=*NEW PAGE URL*" /> > > > -- > > Lep pozdrav, Tilen Majerlehttp://majerle.eu > > > 2012/1/22 Tomfox Wiranata <[email protected]> > > > > Hi everyone, > > > > I have used redirect a thousand times successfully. but this one is > > > weird. > > > This is my process. User wants to save his data and the system checks > > > if all necessary field are filled out. if so, save the data. if not, > > > give an JS-alert. > > > > the whole thing works. the alert when data is missing > > > and > > > the saving when the form is complete. cake just wont redirect after > > > saving. here is my code: > > > > the trigger in my view (the button) > > > ======================== > > > > echo '<div class="small_button" onclick="save()" > > > style="float:left;cursor:pointer;">'."Save".'</div>'; > > > > javascript function in my view: > > > ======================== > > > > function save() > > > { > > > var title_content = $('#TitlePopup').val(); > > > > if (!title_content) > > > $.pnotify({ pnotify_title: 'Missing Fields.', > > > pnotify_text: 'Please > > > fill out all fields.'}); > > > else > > > $.post(installFolder + 'books/save', {}); > > > > } > > > > books_controller: > > > ======================== > > > > function save() > > > { > > > > ...some code here for saving the data.... > > > > $this->Session->setFlash('saving successful'); > > > $this->redirect(array('controller' => 'books', 'action' => 'view', > > > $id)); > > > > } > > > > the redirect works(!) when i call the controllers save() function > > > directly like: > > > echo $html->link('Save', '/books/save', > > > array('class'=>'small_button')); > > > > is this some technology thing with no workaround possible? like JS and > > > cakePHP wont work together in this case? or am i missing some > > > fundamentals here? > > > > appreciate your help :) > > > > thanks!! > > > > -- > > > Our newest site for the community: CakePHP Video Tutorials > > >http://tv.cakephp.org > > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp > > > others with their CakePHP related questions. > > > > To unsubscribe from this group, send email to > > > [email protected] For more options, visit this group > > > athttp://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
