Публикация коллекции JSON Array в Asp.net Core Web API - PullRequest
0 голосов
/ 31 марта 2019

Нужны ваши экспертные знания. Я работаю с JS & Asp.net Core Web API.Я пытаюсь опубликовать JSON Array в своем API, но мне не удается получить данные в методе web api post. Это NULL каждый раз, когда требуется помощь в понимании того, что мне не хватает ..

Ниже приведен код JS

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; }

}

Метод публикации через веб-API

 // POST api/values
    [HttpPost]
    public void Post([FromBody] List<MyData> MyData)
    {

    }

MyData всегда имеет значение null.пожалуйста помогите

1 Ответ

1 голос
/ 31 марта 2019

Вы используете: JSON.stringify({MyData}) вместо JSON.stringify(MyData).Он отправляется на сервер в виде JSON-файла, содержащего поле «MyData» с MyData, а не просто массив MyData.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...