.net 核心 mvc 正在到达我发布的 json 控制器,但我无法读取它。当我使用 [FromBody] 时,我也会收到错误代码 415
Posted
技术标签:
【中文标题】.net 核心 mvc 正在到达我发布的 json 控制器,但我无法读取它。当我使用 [FromBody] 时,我也会收到错误代码 415【英文标题】:The .net core mvc is reaching the json controller I POST, but I can't read it. I also get error code 415 when I use [FromBody] 【发布时间】:2022-01-21 04:40:21 【问题描述】:我在我正在编码的项目中使用 XHR 发布数据。 JSON 到达控制器,但如果我使用[FromBody]
,我会得到error code 415
。如果我不使用它,传入的 JSON 看起来是空的。
控制器
[HttpPost]
[IgnoreAntiforgeryToken]
[Route("revizedCategoryzfc")]
public void revizedCategoryzfc([FromBody] Category model)
if (model.fileCode != null)
System.Console.WriteLine(model.fileCode);
System.Console.WriteLine("Girdi");
发布 XHR 代码
async function makeRequest(method, url, model)
return new Promise(function(resolve, reject)
let xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.onload = function()
if (this.status >= 200 && this.status < 300)
resolve(xhr.response);
else
reject(
status: this.status,
statusText: xhr.statusText
);
;
xhr.onerror = function()
reject(
status: this.status,
statusText: xhr.statusText
);
;
xhr.send(model);
);
document.querySelector('.save-service').addEventListener('click', async () =>
for (var es of document.querySelectorAll('.category-item'))
await makeRequest('POST', '/zfc/revizedCategoryzfc', JSON.stringify(
"Name": es.querySelector('.service-name').value,
"fileCode": es.querySelector('.filecodas').value,
"CategoryId": es.querySelector('.zfc-id').value
))
)
错误
【问题讨论】:
【参考方案1】:由于您使用 json strngify 和 frombody,因此您必须将此标头添加到您的 xhr 中
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
【讨论】:
当我添加这个时,数据返回为空。我会再试一次。谢谢你。我接受了答案。 不客气。 @i3kafa 欢迎您,尝试检查模型值。尝试警报(模型);在发送请求之前。以上是关于.net 核心 mvc 正在到达我发布的 json 控制器,但我无法读取它。当我使用 [FromBody] 时,我也会收到错误代码 415的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET 核心的 Mvc.LocalizationSample.Web 问题
ASP.NET MVC 核心 POST 请求未将 JSON 数据转换为模型
.net core 3.1将ajax对象列表发布到MVC控制器没有数据到达
由于错误,无法将Controller添加到asp.net Core MVC Project:指定的runtimeconfig.json不存在