I have several WebServices which I call from JS with JSON format. This worked perfectly fine when I was running in local Visual Studio web server (Cassini), but with IIS 7.5 on the test server,  I got this error:

System.InvalidOperationException: Request format is invalid: application/json; charset=utf-8

The solution is to add:

<add name="ScriptHandlerFactory" verb="*" path="*.asmx"
type="System.Web.Script.Services.ScriptHandlerFactory" />

to the <handlers>-section in Web.config.

Read more