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
)