为什么它在 [HttpGet]
[AllowAnonymous]
public JsonResult LoginAngular(LoginViewModel model, string returnUrl)
{
Console.WriteLine(model.UserName);
return Json(model.UserName,JsonRequestBehavior.AllowGet);
}
变量中传递空值?错误在哪里?
控制器:
var login = angular.module('LoginApp', []);
login.controller('LoginCtrl', function ($scope, $http) {
$scope.name = 'Login';
$scope.model = { UserName: 'nothing', Password: 'nothing' };
$scope.model.UserName = "Test";
$scope.model.Password = 'Test';
$scope.returnUrl = '/Account/TestLogin';
$scope.onClick = function () {
console.log($scope.model);
$http({
method: 'GET',
url: '/Account/LoginAngular',
params: { model: $scope.model, returnUrl: $scope.returnUrl }
}).success(function (response) {
console.log(response);
});
};
});
角:
[hduser@node1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node1-LogVol00 40G 15G 23G 39% /
tmpfs 3.9G 76K 3.9G 1% /dev/shm
/dev/sda1 388M 39M 329M 11% /boot
/dev/sdb1 16G 283M 15G 2% /disks/disk1/hdfsstorage/dfs
/dev/sdc1 16G 428M 15G 3% /disks/disk2/hdfsstorage/dfs
/dev/sdb2 8.1G 147M 7.9G 2% /disks/disk1/nonhdfsstorage
/dev/sdc2 8.1G 147M 7.9G 2% /disks/disk2/nonhdfsstorage
cm_processes 3.9G 5.8M 3.9G 1% /var/run/cloudera-scm-agent/process
[hduser@node1 ~]$
[hduser@node1 zookeeper]$ sudo -u hdfs hdfs dfsadmin -report
[sudo] password for hduser:
Configured Capacity: 47518140008 (44.25 GB)
Present Capacity: 47518140008 (44.25 GB)
DFS Remaining: 46728742571 (43.52 GB)
DFS Used: 789397437 (752.83 MB)
DFS Used%: 1.66%
Under replicated blocks: 385
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
-------------------------------------------------
Live datanodes (2):
Name: 192.168.52.111:50010 (node1.example.com)
Hostname: node1.example.com
Rack: /default
Decommission Status : Normal
Configured Capacity: 23759070004 (22.13 GB)
DFS Used: 394702781 (376.42 MB)
Non DFS Used: 0 (0 B)
DFS Remaining: 23364367223 (21.76 GB)
DFS Used%: 1.66%
DFS Remaining%: 98.34%
Configured Cache Capacity: 121634816 (116 MB)
Cache Used: 0 (0 B)
Cache Remaining: 121634816 (116 MB)
Cache Used%: 0.00%
Cache Remaining%: 100.00%
Xceivers: 2
Last contact: Sun May 15 18:15:33 IST 2016
Name: 192.168.52.112:50010 (node2.example.com)
Hostname: node2.example.com
Rack: /default
Decommission Status : Normal
Configured Capacity: 23759070004 (22.13 GB)
DFS Used: 394694656 (376.41 MB)
Non DFS Used: 0 (0 B)
DFS Remaining: 23364375348 (21.76 GB)
DFS Used%: 1.66%
DFS Remaining%: 98.34%
Configured Cache Capacity: 523239424 (499 MB)
Cache Used: 0 (0 B)
Cache Remaining: 523239424 (499 MB)
Cache Used%: 0.00%
Cache Remaining%: 100.00%
Xceivers: 2
Last contact: Sun May 15 18:15:32 IST 2016
答案 0 :(得分:1)
尝试以下解决方案:
$http({
url: '/Account/LoginAngular',
method: "POST",
data: {model: $scope.model, returnUrl: $scope.returnUrl},
headers: {
"Content-Type": "application/json"
}
}).then(function(response) {
// success
},
function(response) { // optional
// failed
});
或者你可以尝试:
$http.post('/Account/LoginAngular',{model: $scope.model, returnUrl: $scope.returnUrl})
.success(function (data, status, headers, config) {
//get response
})
.error(function (data, status, header, config) {
//get error details
});
答案 1 :(得分:0)
使用POST方法发送数据。
var login = angular.module('LoginApp', []);
login.controller('LoginCtrl', function ($scope, $http) {
$scope.name = 'Login';
$scope.model = { UserName: 'nothing', Password: 'nothing' };
$scope.model.UserName = "Test";
$scope.model.Password = 'Test';
$scope.returnUrl = '/Account/TestLogin';
$scope.onClick = function () {
console.log($scope.model);
$http({
method: 'POST',
url: '/Account/LoginAngular?returnUrl=$scope.returnUrl',
data: $scope.model,
}).success(function (response) {
console.log(response);
});
};
});