.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; }
}
}
经过测试 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; }
}
}
...全文
相关推荐
.NET WebAPI post参数传递.pdf
可行的传参形式 键值对对应 dynamic动态类型(非跨域) 实体类 JObject参数(推荐) 这里所说的键值对并非是一般的键值对,是指键为空,值不为空的键值对 实体类是相对来说比较简单的一种传参方式,跟我们平常采用的传参方式相似
WebApi系列-通过HttpClient来调用WebApi接口.doc
WebApi系列-通过HttpClient来调用WebApi接口.doc
asp net core3.1 webapi 上传功能
asp net core3.1 webapi 上专功能,大家放心下载,反正也不能钱,例子有参与价值。
.Net Core RESTful或WebAPI MVC Web应用程序
带有RESTful服务的.NET Core MVC的现代设计示例
ASP.NET WebAPI2复杂请求跨域设置的方法介绍
主要给大家介绍了关于ASP.NET WebAPI2复杂请求跨域设置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用ASP.NET具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧


