我是AngularJS的新手,我正在尝试从使用ServiceStack快速制作的Web服务中获取JSON中的一些项目。当我在浏览器中尝试URL时,我可以看到JSON对象,但由于某种原因,AngularJS无法成功获取数据。这是我的实施:
angular.module('SomeApp', []).controller('ItemsFetcher', [ '$http', function($http){
var x = this;
x.products= [
{
Name: 'Missing items',
Description: 'Could not access server'
}];
$http.get('http://localhost:29029/json/reply/GetAllItemsRequest')
.then(function(data){
x.products = [
{
Name: 'Success',
Description: 'Great stuff!'
}];
});
}]);
以下是观点:
<html ng-app="SomeApp">
<head>
<title>My First App</title>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body ng-controller="ItemsFetcher as fetcher">
<h3>PRODUCTS</h3>
<div ng-repeat="item in fetcher.products">
<div>{{item.Name}} - {{item.Description}}</div>
</div>
</body>
正如我所说,如果我在浏览器中调用http://localhost:29029/json/reply/GetAllItemsRequest,我可以使用JSON对象。
我错过了什么吗?任何想法为什么这不起作用?
答案 0 :(得分:1)
如果有人可以从中受益,我必须启用CORS(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)或在同一个地方托管网络服务和网站。