萨拉蒙·阿勒库姆
我通过 AJAX 请求在 Controller 操作中获取 null
:
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
});
我的 C# Controller :
[System.Web.Http.HttpPost, System.Web.Http.HttpGet]
public string AssignProjectPermissions(ProjectPermission[] ProjectPermission)
{
我在 ProjectPermission
中得到 null
。我已经尝试过其他答案,但没有一个对我有用。这些是我检查过的帖子:
- How to get Ajax posted Array in my C# controller?
- Ajax post to ASP.net MVC controller - object properties are null
谢谢
最佳答案
首先,您不应该在同一个方法上使用 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
});
关于c# - 通过 AJAX 在 Controller 操作中接收空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33148829/