4
当我将用户作为查询字符串传入时(使用$ http中的参数),并将web api方法设置为在uri中查找它们,所有内容都是非常好的。但是当我按照以下方式传递它们时,用户显示为空。我在这里错过了什么?web api put识别查询字符串,但不识别身体
角功能
scope.saveChanges = function() {
// create array of user id's
var users = [];
angular.forEach(scope.usersInRole, function (v, k) {
users.push(v.Key);
});
var data = { user: users };
var token = angular.element("input[name='__RequestVerificationToken']").val();
// put changes on server
http({
url: config.root + 'api/Roles/' + scope.selectedRole + '/Users',
method: 'PUT',
data: data,
contentType: "application/json; charset=utf-8",
headers: { "X-XSRF-Token": token },
xsrfCookieName: '__RequestVerificationToken'
}).success(function (result) {
// notify user changes were saved
angular.element('#myModal').reveal({ closeOnBackgroundClick: false });
});
};
网页API行动
public HttpResponseMessage Put(HttpRequestMessage request, [FromUri]string role, [FromBody]string[] user)
{
return request.CreateResponse(HttpStatusCode.NoContent);
}
尝试:'数据:用户'而不是'数据:数据' –
嗯,我会成为猴子叔叔的儿子。很简单。把这个答案放在一个答案中,这样我可以标记它并给你信用。 – Michael
我很好奇,但为什么只是传递数据到数据工作如此干净,并传递如何我没有它。 – Michael