Thursday, January 23, 2014

Re: Little trick to return json

I didnt talk about requirements.
It is still good practice. See my post for details on that.


Am Donnerstag, 23. Januar 2014 10:28:05 UTC+1 schrieb Dakota:
Euromark, you don't need to use .json in the url if the requested response type is set to application/json (As long as you include the RequestHandler component)

On Wednesday, 22 January 2014 22:17:22 UTC+2, euromark wrote:
You could cut down your code by almost have and drop every second line when following the documentation regarding JsonView:
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.


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: