.net core2.2 webapi 无法获取ajax Post参数!
使用jq的 $.ajax() 来提交数据
经过测试 GET方法是成功的 不是跨域问题 get代码这里就不写出来了
但是POST提交表单到后台始终获取不到参数 MOD.Users 始终是NULL 试过后端参数前加[fromBody]
还有前端数据JSON序列化 都无效果
多次测试 发现 将 [ApiController] 修改 成 [Controller] 就能正常获取参数实例
我的问题是 :我不想将 [ApiController] 修改 成 [Controller] 如何修改其他代码才能获取到POST参数呢?
希望大神最好解释一下问题出在哪 原理是什么 多谢了! 分不多 请多帮忙
代码如下:
前端代码:
<form id="form1">
<div> 用户名:<input type="text" name="UserName" value="fox" /><br />
密码: <input type="text" name="UserPassWord" value="123456" /><br />
<input type="button" onclick="dpost()" value="POST" />
</div>
</form>
<script>
function dpost() {
$.ajax({
type: 'post',
url: 'http://localhost:5000/api/values',
data: $("#form1").serialize(),
dataType: 'text',
success: function (data) {console.log(data);}
});
}
</script>
后端代码:
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
[HttpPost]
public string Post(MOD.Users us)
{
if (us.UserName == "fox")
{
return "yes";
}
return "no";
}
}
实体类:
namespace MOD
{
public class Users
{
public string UserName { get; set; }
public string UserPassWord { get; set; }
}
}