Javascript Json数组作为Json对象在ajax调用中未正确传递给控制器
我使用以下javascript方法将json对象与某个对象和arry一起传递给我的控制器。Json对象分配正确,但数组为空。我在做什么Javascript Json数组作为Json对象在ajax调用中未正确传递给控制器,javascript,jquery,json,ajax,asp.net-mvc-4,Javascript,Jquery,Json,Ajax,Asp.net Mvc 4,我使用以下javascript方法将json对象与某个对象和arry一起传递给我的控制器。Json对象分配正确,但数组为空。我在做什么 function setData() { var quotation = { ID : 0, Number : "", AccountName : getAccount(), CurrencyID : getCurrencyID(), Date: getQuoteDate(), ExchangeRate :get
function setData() {
var quotation = {
ID : 0,
Number : "",
AccountName : getAccount(),
CurrencyID : getCurrencyID(),
Date: getQuoteDate(),
ExchangeRate :getExchangeRate(),
Percentage : getPercentage(),
PriceListId: getPriceListId(),
}
quotation.Items = [];
$.each(this.selectedItem.items, function (index, qitem) {
var Item = {
ID: 1,
ItemNumber:"lcfe"
};
quotation.Items.push(Item);
});
$.ajax({
url: '@Url.Action("CreateQuotation", "Main")',
data: quotation,
contentType: "application/json; charset=utf-8",
type: 'GET',
success: function (dat1a) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.responseText);
alert("Status: " + XMLHttpRequest); alert("Error: " + errorThrown);
}
});
}
我的模型课
public class Quotation
{
public long ID { get; set; }
public string Number { get; set; }
public List<QuotationItem> Items { get; set; }
//....
}
public class QuotationItem
{
public long Id { get; set; }
public string ItemNumber { get; set; }
}
公共类引用
{
公共长ID{get;set;}
公共字符串编号{get;set;}
公共列表项{get;set;}
//....
}
公共类报价项目
{
公共长Id{get;set;}
公共字符串ItemNumber{get;set;}
}
这是我在调试中看到的结果
我可以看到列表中添加了两个对象,但它们的vlaues ID、ItemNumber没有分配
有什么想法吗?在发送数据之前,您是否检查了发送的数据?您需要对数据进行字符串化-
data:JSON.stringify(引号)
No need@StephenMuecke。如果它不是一个字符串,jQuery就会转换它(根据文档)。@Andy是必需的,因为contentType:“application/json;charset=utf-8”
,但刚刚意识到它是一个GET,而不是POST。因此,这无论如何都不会起作用-集合项需要索引器。因为这是一个GET,所以数据作为查询字符串值发送,因此集合属性/值需要作为项[0]发送。ID=1,项[1]。ID=2
等