No that is totally what one would expect when browsing the json file. The thing is that this never happens with a normal user, as he executes AJAX which then calls this url. So never ever should it happen that a user really browses it directly (unless its a dev and he has a genuine reason to do so).
Am Donnerstag, 6. Februar 2014 13:29:21 UTC+1 schrieb advantage+: > > I have read the post. > The examples / links are directly on your site. > > > > If I do the same on my site I get the exact same thing. I'm only pointing > out that if you access the .json via http you see the ugly json format > screen. No error page (styled error page I mean). > > And sure odd of anyone is ever getting there by mistake a slim, it's still > not something you would want on a website in production 1 would think. Does > not look very professional if an error did occur and your end user / client > was to see > > { > > - "name": "Not Found", > - "url": "/sandbox/ajax_examples/country_provinces_ajax.json" > > } > > That’s all I was saying, not a criticism or anything on your part…..I said > the post was excellent and well done. > This is just what I came across in the process. > > > > > > *From:* cake...@googlegroups.com <javascript:> [mailto: > cake...@googlegroups.com <javascript:>] *On Behalf Of *euromark > *Sent:* Thursday, February 06, 2014 6:52 AM > *To:* cake...@googlegroups.com <javascript:> > *Subject:* Re: DerEuroMark - Ajax and CakePHP Tutorial Question > > > > Sounds like you didnt read the whole post. > > You probably skipped the "Last tips" part at the end - or it would be > working > > > > Am Mittwoch, 5. Februar 2014 18:39:20 UTC+1 schrieb advantage+: > > Asking simply because if you go here for example: > > > > > http://sandbox.dereuromark.de/sandbox/ajax_examples/country_provinces_ajax.jsonvia > http you see: > > > > { > > - "name": "Not Found", > - "url": "/sandbox/ajax_examples/country_provinces_ajax.json" > > } > > > > If there was no .json extension and accessed http you get the expected error > page. > Which is what I was expecting with the $this->request->onlyAllow('ajax'); but > even accessing the .json (above link) you still end up with a result so the > onlyAllow does not seem to *only allow ajax* since I can clearly see a result > via http. It's just in JSON format. > > There is no error / exception throw caught. It still serves up the controller > action. I was under the impression that if this controller method is accessed > anyway other than "ajax" throw the exception but as you can see it's still > accessible. > > Too me it just looks ugly when it's just a blank page and no explanation just > a few brackets and text. (hence the point of customizing the error pages so > it can match the look and feel of the site) > > > > That’s why I was asking about the removal of the .json extension so the end > user will only know site.com/this/is/here and cake will know via the passed > "ext" => 'json" param to use the correct view. > > Just not display the extension to the user. > > > > http://sandbox.dereuromark.de/sandbox/ajax_examples/country_provinces_ajax > > > > *CakePHP Sandbox App* > > *Not Found* > > *Error: *The requested address > *'/sandbox/ajax_examples/country_provinces_ajax'* was not found on this > server. > > > > Thanks again, > > Dave > ------------------------------ > > Author: dereuromark | github.com/dereuromark/cakephp-sandbox | > Contact<http://sandbox.dereuromark.de/contact> > > > > > > *From:* cake...@googlegroups.com [mailto:cake...@googlegroups.com] *On > Behalf Of *euromark > *Sent:* Wednesday, February 05, 2014 1:43 PM > *To:* cake...@googlegroups.com > *Subject:* Re: DerEuroMark - Ajax and CakePHP Tutorial Question > > > > there is no need to remove it - but of course you can. > > it is good practice (that is outlined in the post if you read it) to > always call the url with the correct extension of what you are expecting. > > rss => .rss > > xml => .xml > > ... > > and so for an ajax requestion with a json response it would be .json > > > > I would only call the url extension less if I was using a plain html > response. That is also outlined in the post. > > > > > > Usually you would want a different layout to be rendered when using json > instead of html. > > But yes, you can easily deactivate the subfolder here if necessary. > > > > > > Am Mittwoch, 5. Februar 2014 17:22:41 UTC+1 schrieb advantage+: > > First off great article! > > http://www.dereuromark.de/2014/01/09/ajax-and-cakephp/ > > > Very informative. > > > > My only question is there a way to remove the .json extension in the url? > Or is it needed to differentiate between views? > > > > Only other thing I came across was my AppController isAuthorized() I have > based on user logged in or not > > $this->layout = 'admin'; so initially I was getting errors > /app/View/Layouts/json/admin.ctp', missing. > > But just added $this->layout = false; to solve that. > > > > Thanks, > > Dave > > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > Find us on Twitter http://twitter.com/CakePHP > > --- > You received this message because you are subscribed to the Google Groups > "CakePHP" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to cake-php+u...@googlegroups.com. > To post to this group, send email to cake...@googlegroups.com. > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/groups/opt_out. > > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > Find us on Twitter http://twitter.com/CakePHP > > --- > You received this message because you are subscribed to the Google Groups > "CakePHP" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to cake-php+u...@googlegroups.com <javascript:>. > To post to this group, send email to cake...@googlegroups.com<javascript:> > . > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/groups/opt_out. > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/groups/opt_out.