第一个案例
angular.module('tss.application').controller("UserspaceController", function($scope, $http)
{
$http(
{
url : "/dirlist",
method : "GET",
}).then(function successCallback(response)
{
$scope.lists = response;
},
function errorCallback(response)
{
window.alert("Dir list could not be get");
});
});
第二种情况
angular.module('tss.application').controller("UserspaceController", function ($scope, $http)
{
$http.get('dirlist').success(function(data)
{
$scope.lists = data;
});
});
我对Angularjs很新,所以这可能是一个愚蠢的问题。无论如何, 列表变量的赋值在第二种情况下有效,但在第一种情况下。也就是说,第二个可以访问"列表"的值。控制器内部。我不明白第一个案子有什么问题?
答案 0 :(得分:1)
angular.module('tss.application').controller("UserspaceController", function($scope, $http)
{
$http(
{
url : "/dirlist",
method : "GET",
}).then(function successCallback(response)
{
$scope.lists = response.data;
},
function errorCallback(response)
{
window.alert("Dir list could not be get");
});
});
把$ scope.lists = response.data;,将起作用
答案 1 :(得分:0)
试试这个:
angular.module('tss.application').controller("UserspaceController", function($scope, $http)
{
$http(
{
url : "/dirlist",
method : "GET",
}).then(function successCallback(response)
{
$scope.lists = response.data;
},
function errorCallback(response)
{
window.alert("Dir list could not be get");
});
});
不推荐使用的success()
方法为数据和标头传递两个单独的值,但使用.then()
的promise接口只传递一个response
值,该值将数据和标头作为属性。< / p>
对代码的更改只是行:
$scope.lists = response.data;