I have an ASP.NET MVC project and I have a single action that accepts GET, POST, and DELETE requests. Each type of request is filtered via attributes on my controllers
Using XMLHttpRequest, it's not only the "best practice", it's really the only way.