通过AJAX

时间:2015-10-15 12:39:58

标签: c# jquery asp.net ajax asp.net-mvc

Salaamun Alekum

我通过AJAX请求在控制器操作中获得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#控制器:

[System.Web.Http.HttpPost, System.Web.Http.HttpGet]
public string AssignProjectPermissions(ProjectPermission[] ProjectPermission)
{

我在null收到ProjectPermission。我已经尝试了其他答案,但没有一个能为我工作。这些是我检查过的帖子:

谢谢

1 个答案:

答案 0 :(得分:4)

首先,你不应该在同一个方法上使用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 
    });