Wednesday, January 22, 2014

Re: Little trick to return json

You could cut down your code by almost have and drop every second line when following the documentation regarding JsonView:
http://book.cakephp.org/2.0/en/views/json-and-xml-views.html
No need to fight the framework and manually set response type and alike

Also, I highly recommend using /users.json as request url. 
This way you also trigger a lot of Cake magic as well. And you are down to none of your code above, as CakePHP would do all that for you right away.
See www.dereuromark.de/2014/01/09/ajax-and-cakephp


Am Dienstag, 21. Januar 2014 16:59:11 UTC+1 schrieb Rubensvsx:
Sorry for the poor english. 
I created a piece of code that solved my problem in returning a JSON object and helped me not to re-write all views. I await your feedback pros and cons.

 
class AppController extends Controller {
    public $components = array('RequestHandler');
 
    function beforeRender() {
        if ($this->RequestHandler->isAjax()) {
            $this->layout = 'ajax';
            $this->RequestHandler->setContent('json', 'application/json');
            $this->viewVars = json_encode($this->viewVars);
            return false;
        }
    }
}


If an Ajax request is performed automatically be returns a JSON object with the query result.

$.ajax({
url: "http://localhost/aplication/users",
type: "POST",
dataType: "json"
});

--
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+unsubscribe@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.

No comments: