{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Mvc/issues/3466","labels_url":"https://api.github.com/repos/aspnet/Mvc/issues/3466/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Mvc/issues/3466/comments","events_url":"https://api.github.com/repos/aspnet/Mvc/issues/3466/events","html_url":"https://github.com/aspnet/Mvc/issues/3466","id":114820514,"number":3466,"title":"mvc model binding json ajax requests","user":{"login":"david-whitehead","id":1824684,"avatar_url":"https://avatars.githubusercontent.com/u/1824684?v=3","gravatar_id":"","url":"https://api.github.com/users/david-whitehead","html_url":"https://github.com/david-whitehead","followers_url":"https://api.github.com/users/david-whitehead/followers","following_url":"https://api.github.com/users/david-whitehead/following{/other_user}","gists_url":"https://api.github.com/users/david-whitehead/gists{/gist_id}","starred_url":"https://api.github.com/users/david-whitehead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-whitehead/subscriptions","organizations_url":"https://api.github.com/users/david-whitehead/orgs","repos_url":"https://api.github.com/users/david-whitehead/repos","events_url":"https://api.github.com/users/david-whitehead/events{/privacy}","received_events_url":"https://api.github.com/users/david-whitehead/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aspnet/Mvc/labels/2%20-%20Working","name":"2 - Working","color":"CCCCCC"},{"url":"https://api.github.com/repos/aspnet/Mvc/labels/investigate","name":"investigate","color":"bfe5bf"}],"state":"open","locked":false,"assignee":{"login":"kichalla","id":6559784,"avatar_url":"https://avatars.githubusercontent.com/u/6559784?v=3","gravatar_id":"","url":"https://api.github.com/users/kichalla","html_url":"https://github.com/kichalla","followers_url":"https://api.github.com/users/kichalla/followers","following_url":"https://api.github.com/users/kichalla/following{/other_user}","gists_url":"https://api.github.com/users/kichalla/gists{/gist_id}","starred_url":"https://api.github.com/users/kichalla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kichalla/subscriptions","organizations_url":"https://api.github.com/users/kichalla/orgs","repos_url":"https://api.github.com/users/kichalla/repos","events_url":"https://api.github.com/users/kichalla/events{/privacy}","received_events_url":"https://api.github.com/users/kichalla/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2015-11-03T13:52:07Z","updated_at":"2015-11-04T17:24:25Z","closed_at":null,"body":"iv noticed when doing an ajax post request using content type 'application/json' in beta 8, its always throwing a json exception before hitting the controller action, and no data/ variables are passed to the action method. Although this works when the content type is set to ''application/x-www-form-urlencoded\" as its coming through in [fromForm] mode not [fromBody].\r\n\r\n```\r\nvar postData = { abd: '1', d: '2'};\r\n\r\n$.ajax({\r\ntype: \"POST\",\r\ncontentType: \"application/json\",\r\ndataType: \"json\",\r\n\r\ndata: postData //or data: JSON.stringify(postData)\r\n})\r\n```\r\n\r\nException:\r\n\r\n```\r\nEvent Type\tEvent\tTime\tDuration\tThread\tDetail Description\r\nException\tException thrown: 'Newtonsoft.Json.JsonReaderException' in Newtonsoft.Json.dll (\"Error reading string. Unexpected token: StartObject. Path '', line 1, position 1.\")\t1,980.82s\t\t[9108]\r\n```"},"comment":{"url":"https://api.github.com/repos/aspnet/Mvc/issues/comments/153798819","html_url":"https://github.com/aspnet/Mvc/issues/3466#issuecomment-153798819","issue_url":"https://api.github.com/repos/aspnet/Mvc/issues/3466","id":153798819,"user":{"login":"kichalla","id":6559784,"avatar_url":"https://avatars.githubusercontent.com/u/6559784?v=3","gravatar_id":"","url":"https://api.github.com/users/kichalla","html_url":"https://github.com/kichalla","followers_url":"https://api.github.com/users/kichalla/followers","following_url":"https://api.github.com/users/kichalla/following{/other_user}","gists_url":"https://api.github.com/users/kichalla/gists{/gist_id}","starred_url":"https://api.github.com/users/kichalla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kichalla/subscriptions","organizations_url":"https://api.github.com/users/kichalla/orgs","repos_url":"https://api.github.com/users/kichalla/repos","events_url":"https://api.github.com/users/kichalla/events{/privacy}","received_events_url":"https://api.github.com/users/kichalla/received_events","type":"User","site_admin":false},"created_at":"2015-11-04T17:24:25Z","updated_at":"2015-11-04T17:24:25Z","body":"Your observation is correct. In case of `FromBody`, the formatters like json and xml and their respective serializers take full control of how the request body is bound to an type. I will let @rynowak @Eilon @dougbu  to give more detailed explanation"}}