AngularJS和Asp.Net WebApi没有在firefox / chrome中显示数据

时间:2014-04-10 08:34:45

标签: angularjs asp.net-web-api

我有一个在端口8080上运行的Asp.Net WebApi服务器,它公开了一个GET方法(让我们说IEnumerable<Friend> Get())。

我在端口55163上运行另一个包含AnugularJs项目的Asp.Net站点。

当我从角度控制器调用$resource('...localhost:8080/api/friends')并显示如下数据时:

<ul>
    <li ng-repeat="friend in friends">
        {{friend.name}} who is {{friend.age}} years old.
    </li>
</ul>

该页面未在Firefox和Chrome中显示任何列表。我注意到到目前为止IE没有问题。

我一直在检查来自Firefox的XHR请求调用,并且JSON会正确地返回给客户端。

我使用AngularJs 1.2.16和AspNet.WebApi 5.1.2

更多详情

在我的控制器中如果我这样做(不调用服务):

$scope.friends = [
    { name: 'Person1', age: 30 },
    { name: 'Person2', age: 30 }
];

范围已正确设置,但如果我这样做:

$http.get('...localhost:8080/api/friends').success(function (data) {
    $scope.friends = [];
    angular.forEach(data, function (item) {
        $scope.friends.push(item);
    });
});

或那:

var userResource = $resource('...localhost:8080/api/friends');
userResource.query({ method: 'GET', isArray: true }, function (data) {
    $scope.friends = [];
    angular.forEach(data, function (item) {
        $scope.friends.push(item);
    });
});

范围未填充...(或仅适用于Internet Explorer)

更新1

如果我把所有东西都放在同一台服务器上然后工作,我想知道它是否与CORS有关。

1 个答案:

答案 0 :(得分:0)

检查AngularJS问题的第一个地方是浏览器控制台。通常会记录任何错误。

如果没有错误,friends可能无法正确填充。您是否尝试过调试XHR的结果并确认结果是否已分配给朋友?