Javascript 将JSON数组集合发布到Asp.net核心Web API
需要你的专业知识吗 我正在使用JS和Asp.net核心Web API。 我正试图将JSON数组发布到我的API中,但我无法在web API post方法中获取数据。每次都为空,需要帮助了解我缺少的内容 下面是JS代码Javascript 将JSON数组集合发布到Asp.net核心Web API,javascript,arrays,json,ajax,asp.net-core-webapi,Javascript,Arrays,Json,Ajax,Asp.net Core Webapi,需要你的专业知识吗 我正在使用JS和Asp.net核心Web API。 我正试图将JSON数组发布到我的API中,但我无法在web API post方法中获取数据。每次都为空,需要帮助了解我缺少的内容 下面是JS代码 function Trails(){ var A = []; var B = []; var MyData = []; for(var i = 0;i <= 2;i++){ var _A = { "ID" : i, "_A" :
function Trails(){
var A = [];
var B = [];
var MyData = [];
for(var i = 0;i <= 2;i++){
var _A = {
"ID" : i,
"_A" : "A"+i
};
A.push(_A);
}
for(var i = 0;i <= 2;i++){
var _B = {
"ID" : i,
"_B" : "B"+i
};
B.push(_B);
}
for(var i = 0;i <= 2;i++){
MyData.push({
"MyDataName" : "CJ"+i,
"A" : A,
"B" : B,
});
}
$.ajax({
crossDomain: true,
cache: false,
type: "POST",
url: "https://localhost:44359/api/values/",
contentType: "application/json",
data :JSON.stringify({MyData}),
dataType: "json",
success: function (data) {
alert(data);
}, //End of AJAX Success function
failure: function (data) {
alert(data.responseText);
console.log(data);
}, //End of AJAX failure function
error: function (data) {
alert(data.responseText);
console.log(data);
} //End of AJAX error function
});
}
C类
public class A
{
public int ID { get; set; }
public string _A { get; set; }
}
public class B
{
public int ID { get; set; }
public string _B { get; set; }
}
public class MyData
{
public string MyDataName { get; set; }
public List<A> A { get; set; }
public List<B> B { get; set; }
}
WebAPI Post方法
// POST api/values
[HttpPost]
public void Post([FromBody] List<MyData> MyData)
{
}
MyData始终为空。请帮助您使用的是:JSON.stringify{MyData}而不是JSON.stringifyMyData。它作为包含字段MyData和MyData的JSON(而不仅仅是MyData数组)发送到服务器。将此行data:JSON.stringify{MyData}更改为data:JSON.stringifyMyData,