Asking simply because if you go here for example:

 

http://sandbox.dereuromark.de/sandbox/ajax_examples/country_provinces_ajax.json 
via 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-php@googlegroups.com [mailto:cake-php@googlegroups.com] On Behalf Of 
euromark
Sent: Wednesday, February 05, 2014 1:43 PM
To: cake-php@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+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.

-- 
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.

Reply via email to