Передавать данные массива в API из Jquery - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь передать данные массива в свой api. Но массив получает нулевое значение в api. Ниже приведен мой код API и Jquery код

Модель

public class OrderItems
{
public int ItemId { get; set; }
public int ItemQty { get; set; }
}

public class Orders
{
public int UserId { get; set; }
public List<OrderItems> OrderItems { get; set; }
}

Метод API

[Route("AddOrder")]
[HttpPost]

public HttpResponseMessage AddOrder(Orders OrderItem)
{
try
{
OrderBl ordrBl = new OrderBl();
int OrderStaus = 0;
// int OrderStaus= ordrBl.AddOrder(OrderItem);
if (OrderStaus == 1)
{
return new Response<string>("New Order Added Successfully", "", HttpStatusCode.Created);
}
else if (OrderStaus == 3)
{
return new Response<string>("Order Updated Successfully", "", HttpStatusCode.Created);
}
else
{
return new Response<string>("Failed", "", HttpStatusCode.NotImplemented);
}
}
catch (Exception ex)
{
return new Response<string>("Something went wrong", "", HttpStatusCode.ServiceUnavailable);
}
}

Jquery Код

var CartArray = [];
var OrderData = [];
var Data = {};

$.each(CartArray, function (key, value) {
Data.ItemId = value.Id
Data.itemQty = value.Qty
OrderData.push(Data);
});

var OrderItem = {}
OrderItem.OrderItem = { "UserId": 1, OrderItems: OrderData };

$.ajax({
type: 'POST',
dataType: 'json',
cache: false,
url: "https://localhost:44360/api/Order/AddOrder",
data: JSON.stringify(OrderItem),//Up to here i am getting  value
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
success: function (data, textStatus, jqXHR) {
},
error: function (jqXHR, textStatus, errorThrown) {
//Do Stuff or Nothing
}
});

Как я уже упоминал выше, данные: JSON .stringify (OrderItem) здесь я получаю значение в массиве OrderData и переменной UserId. Но в API я получаю только значение UserId, значение OrderData становится нулевым. Пожалуйста, дайте мне знать, где я делаю не так?

...