ASP.NET Core 2,jQuery POST数据为空 [英] ASP.NET Core 2, jQuery POST data null
本文介绍了ASP.NET Core 2,jQuery POST数据为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用jQuery
并使用POST
方法发送数据.但是在服务器方法中,值不会出现.可能是什么错误?
I use jQuery
and send data with the POST
method. But in the server method the values are not coming. What could be the error?
客户
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "./AddTag",
dataType: "json",
data: "{'parentId':42,'tagName':'isTagName'}",
success: function (response) {
// ...
}
});
服务器
[HttpPost]
public JObject AddTag(int parentId, string tagName)
{
dynamic answer = new JObject();
List<LogRecord> logs = new List<LogRecord>();
answer.added = fStorage.Tags.AddTag(parentId, tagName, logs);
return answer;
}
固定 非常感谢大家.我明白我的错误.我为此修复了客户端和服务器代码:
fixed Thank you all very much. I understood my mistake. I fixed the client and server code for this:
let tag = {
"Id": 0,
"ParentId": 42,
"Name": isTagName
};
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "./AddTag",
dataType: "json",
data: JSON.stringify(tag),
success: function (response) {
// ...
}
});
服务器
[HttpPost]
public JObject AddTag([FromBody] Tag tag)
{
dynamic answer = new JObject();
List<LogRecord> logs = new List<LogRecord>();
answer.added = fStorage.Tags.AddTag(tag.ParentId, tag.Name, logs);
answer.logs = Json(logs);
return answer;
}
该课程已添加
public class Tag
{
public int Id { get; set; }
public int ParentId { get; set; }
public string Name { get; set; }
public List<Tag> ChildsList { get; set; }
[NonSerialized]
public Tag ParrentTag;
}
推荐答案
尝试将您的参数提取到单独的DTO类中,并像这样:
Try extracting your params into a separate DTO class and do it like that:
public class ParentDTO
{
public int parentId{get; set;}
public string tagName{ get; set;}
}
[HttpPost]
public JObject AddTag([FromBody] ParentDTO parent)
{
}
这篇关于ASP.NET Core 2,jQuery POST数据为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文