使用Ajax将JS对象发送到C#控制器
Send JS object to C# Controller using Ajax
我正在尝试使用Ajax调用将js中的多个对象发送到C#中的控制器。
我在C#中有一个名为"Person"的对象
下一个是哪个:
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
}
相关文章:
- 在控制器和数据对象之间同步数据
- 在Angular中呈现DOM对象时,如何调用控制器中指定的函数
- AngularJS-需要在控制器更改时清除javascript对象
- $scope$观察数组中的一个特定对象——Angular JS控制器
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 阻止控制器创建新的作用域对象
- 在angularJS中使用模态窗口时,在控制器之间共享对象数组
- 面向对象,控制器问题,初学者Javascript
- 角度控制器不绑定服务对象属性 ng-repeat
- 表示不将对象从服务发送到 API 控制器
- 实际的angular js控制器对象包含什么
- Angular指令更新父控制器对象
- 尝试将表行作为列表发送回MVC控制器<>对象
- 如何从子范围的指令中设置角控制器对象的属性值
- 我如何在angular指令中使用控制器对象值
- JS不会识别angular控制器对象中的变量
- 模型视图控制器 - 对象不是函数(MVC Javascript)
- 无法获取AngularJS控制器对象
- 在Angular中绑定到控制器对象