Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象数组发送到MVC控制器_Javascript_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 将对象数组发送到MVC控制器

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

我尝试向服务器发送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", 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!");
            }
        });


    }