通过AJAX在控制器动作中接收空值
本文关键字:空值 AJAX 控制器 通过 | 更新日期: 2023-09-27 18:18:01
Salaamun Alekum
我得到null
在控制器动作通过AJAX请求:
var ProjectPermission = [{
"CreatedBy": "Akshay"
},{
"CreatedBy": "Kumar"
},{
"CreatedBy": "ETC"
}]
$.ajax({
url: '/api/Projects/AssignProjectPermissions',
type: 'POST',
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify({
ProjectPermission: ProjectPermission
}),
success: function (data) {
alert(data);
},
// processData: false //Doesn't help
});
My c# controller:
[System.Web.Http.HttpPost, System.Web.Http.HttpGet]
public string AssignProjectPermissions(ProjectPermission[] ProjectPermission)
{
我在ProjectPermission
中得到null
。我已经尝试了其他的答案,但都不适合我。这些是我查看过的帖子:
- 如何获得Ajax张贴数组在我的c#控制器?
- Ajax post到ASP.net MVC控制器-对象属性为空
谢谢
您不应该首先在同一个方法上使用GET和POST,在这种情况下只使用POST。除此之外,您不需要属性名称。你把你的数组放在一个对象中。你的方法需要一个数组。
var ProjectPermission = [{ CreatedBy: "Akshay" },
{ CreatedBy: "Kumar" },
{ CreatedBy: "ETC" }]
$.ajax({
url: '/api/Projects/AssignProjectPermissions'
, type: 'POST'
, contentType: 'application/json'
, dataType: 'json'
, data: JSON.stringify(ProjectPermission) //<------------issue here
, success: function (data)
{ alert(data); }
//, processData: false
});