Angular 代码:
getAuthorizationStatus: function () {
var deferred = $q.defer();
$http({
method: "POST",
url: url,
data: {
username: $scope.username,
password: $scope.password
},
contentType: 'application/json',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(deferred.resolve)
.error(deferred.reject);
return deferred.promise;
},
我的服务器端代码:
[HttpPost]
public int ValidateUser([FromBody]Credentials credentials)
{
try
{
string username = credentials.username;
string password = credentials.password;
//Do stuff
}
catch (Exception ex)
{
throw ex;
return -1;
}
return -1; // not valid user
}
我遇到的问题是我能够调用 Api 方法,但里面的数据始终为空。我尝试过几种这样的组合:
data: JSON.stringify({
"username" : "username",
"password":"mypassword"
}),
没有骰子。
我做错了什么?
最佳答案
将您的数据包含在 $.param() 中
示例:
数据:$.param({ 用户名:$scope.username,密码:$scope.password })
关于AngularJs 发布到 WebApi 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698007/