.net core2.2 webapi 无法获取ajax Post参数!

loveajax loveajax 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
使用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; }
}
}
...全文

相关推荐

评论 17
收藏 已收藏
分享
返回顶部
loveajax
.NET社区 62,274 成员 668,968 内容