.Net Core 2.0/2.1 环境下,Ajax Post 后台Action接收到的参数为 null
JS:
<script type="text/javascript"> function submitForm() { var da = JSON.stringify({ loginId: '1', password: '2' }); $.ajax({ type: 'POST', url: '/Home/LoginAsync', dataType: 'json', contentType: 'application/json', data: da, error: function (XMLHttpRequest) { alert('post error!'); }, success: function (data) { alert(data.result); } }); }</script>
后台:
[HttpPost]public IActionResult LoginAsync(string loginId, string password) { if(loginId != null && password != null) return Json(new { result = "OK" }); else return Json(new { result = "Is Null" }); }
后台接收不到参数 loginId 和 password 都为 null, 如果把js里把post改成get,后台能接收到参数。.Net Core 2.0/2.1 都是这样,同样的代码在.net framework 4.6 下正常。
偶然的你