There's nothing wrong with contentType you've set. It's correct:
contentType: "application/json; charset=utf-8",
First of all make sure you've valid handler mappings in web.config as shown below:
Edit:
<system.web>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
</system.web>
For more info, check out this link
Apart from that you must surround data being passed with single/double quotes like below:
data: "{ 'values':" + JSON.stringify(myarray) + "}"
Or jQuery will automatically URL encode it. For more info check this URL