繁体   English   中英

使用Ajax将JS对象发送到C#控制器

[英]Send JS object to C# Controller using Ajax

我正在尝试使用Ajax调用将js中的多个对象发送到C#中的控制器。

我在C#中有一个名为“人”的对象

接下来是:

public class Person
{
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

和我在JavaScript中有相同的对象。

然后创建两个人,然后我发送给控制器。 这是Ajax电话

$.ajax({
    url: baseUrl + "/controller/TestPeople",
    type: "POST",
    data: {
        people: people
    },
    success: function (resp) {
        alert("ok");
    }
});

这是帖子

people[0][Title]:"Mr."
people[0][FirstName]:"fname1"
people[0][LastName]:"Lname1"
people[0][Age]:23
people[1][Title]:"Mr."
people[1][FirstName]:"fname2"
people[1][LastName]:"Lname2"
people[1][Age]:25

但是当我在控制器中收到它时,一切都为空

public string TestPeople(Person[] people){
   //some code
}

控制器知道有2个人,但是里面的所有信息都是空的。

知道为什么吗?

为了“解决”问题,我将控制器更改为使用FormCollection并且该控制器正在工作,但是我想知道为什么其他控制器无法工作。

谢谢大家

尝试:

data : JSON.stringify(peopleArray)

在您的控制器中尝试:

public string Get(Person[] people){
   //some code
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM