Javascript 将对象数组发送到MVC控制器
我尝试向服务器发送json对象数组:Javascript 将对象数组发送到MVC控制器,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,我尝试向服务器发送json对象数组: var objectData = [ { Description: "Bezeichnung", Value: "1", Name: "Betrag (Brutto)" }, { Description: "Dies ist die erste Bezeicnung", Value: "101", Name: "11,90" }, { Description: "Dies ist die zweite Bezeicnung", Va
var objectData = [
{ Description: "Bezeichnung", Value: "1", Name: "Betrag (Brutto)" },
{ Description: "Dies ist die erste Bezeicnung", Value: "101", Name: "11,90" },
{ Description: "Dies ist die zweite Bezeicnung", Value: "12", Name: "11,90" }
];
$.ajax({
url: "/system/createinvoice",
data: JSON.stringify({ pos: objectData }) ,
dataType: 'json',
type: 'POST',
});
C#
公共类发票POS
{
公共字符串说明{get;set;}
公共可空值{get;set;}
公共字符串名称{get;set;}
}
[POST(“/system/createinvoice”)]
公开作废新问题2(发票pos[]pos)
{
//pos总是空的
}
数据类型属性表示您希望从服务器返回的内容。尝试设置contentType
:
contentType: 'application/json'
试一试
此外,请检查通过浏览器在视图中渲染的内容。获取null的原因可能是JavaScript没有获取正确的值。函数sendarayofobjects()
{
var things=[{id:1,颜色:'red'},{id:2,颜色:'blue'},{id:3,颜色:'yellow'}]
$.ajax({
type: "POST",
url: "<%= ResolveUrl("~/MyServices.aspx/GetData")%>",
data: JSON.stringify({ objdata: things }),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function()
{
$("#msg").html("data sent successfully!");
},
error: function()
{
$("#msg").html(" Can not send data!");
}
});
}
$.ajax({
类型:“POST”,
url:“”,
数据:JSON.stringify({objdata:things}),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:函数()
{
$(“#msg”).html(“数据发送成功!”);
},
错误:函数()
{
$(“#msg”).html(“无法发送数据!”);
}
});
}
你知道json的类型是字符串而不是数组吗?我的代码有什么问题吗?我在你的代码中看到你希望pos
是数组。我不太熟悉C#,但若它并没有对json字符串(通过http获得)进行任何类型的转换,那个么它仍然是一个字符串,您需要自己将其转换为数组。asp.net mvc进行转换
data: JSON.stringify({ pos: @objectData })
$.ajax({
type: "POST",
url: "<%= ResolveUrl("~/MyServices.aspx/GetData")%>",
data: JSON.stringify({ objdata: things }),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function()
{
$("#msg").html("data sent successfully!");
},
error: function()
{
$("#msg").html(" Can not send data!");
}
});
}