Summary: if you're posting a form via Content-Type: application/x-www-form-urlencoded
then the data
attribute itself must be a valid URL-encoded string - it CANNOT be a hash. Angular $http will not convert it to a URL-encoded format (like jQuery does).
When you run this code your cake log will have a line like:
2013-11-12 20:08:50 Error: POST: Array
(
[name] => scott
[flavor] => vanilla
)
With whatever you put into the Name & Flavor text inputs
This blog post has some code which can be implemented to make $http behave more like jQuery.ajax
http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/