gpt4 book ai didi

javascript - Netcore,JSON参数始终为空

转载 作者:行者123 更新时间:2023-12-01 03:21:34 24 4
gpt4 key购买 nike

我不知道我做错了什么或发生了什么变化。我正在尝试将 JSON 参数发送到 netcore 1.1 中的 mvc Controller

MVC Controller :

[HttpPost]
public JsonResult Test1(DepartmentDTO departmentDto, int testId)
{
return Json(departmentDto);
}
public partial class DepartmentDTO
{
public int DepartmentID { get; set; }
public string Description{ get; set; }
}

Javascript 帖子:

var req = {
method: 'POST',
url: "/Department/Test1",
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
data: JSON.stringify({
"departmentDto": { "DepartmentID": 1, "Description": "TEST" },
"testId": 1
}),
};
var promise = $http(req).then(function successCallback(response) {
if (response.data.departmentID == 0) {
alert("Wrong")
}
return response.data
}, function errorCallback(response) {
return { success: false, message: response.data };
});

所有参数始终为空:departmentDto & testId感谢您的帮助。

最佳答案

[FromBody]只能使用一次。 Body 流仅向前传送。

建议:

[Route("Department")]
public class DepartmentController : Controller
{
[HttpPost("Test1/{testId:int}")] // Matches POST Department/Test1/1
public IActionResult Test1([FromRoute] int testId, [FromBody] DepartmentDTO departmentDto)
{
return Json(departmentDto);
}
}

并修改请求

var req = {
method: 'POST',
url: "/Department/Test1/1",
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
data: JSON.stringify({ "DepartmentID": 1, "Description": "TEST" }),
};

要么创建一个与客户端字符串化的内容相匹配的新对象模型,并将其作为标有 [FromBody] 的单个操作参数

关于javascript - Netcore,JSON参数始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com