我有一个奇怪的问题。到处寻找但找不到任何解决方案。这是我第一次使用angular.js,我正试图从API中获取内容到我的Angular App中。
成功消息有效,但(数据)为空。如果我将GET URL更改为w3Schools http://www.w3schools.com/website/Customers_JSON.php中的URL,则可以正常工作。所以我不确定我的请求URL http://fingerzeig.ch/api/agenda/list是否格式正确我也不知道我是否需要解码或编码数据。如果我比较两个页面,我注意到fingerzeig URL有点不同。
任何帮助将不胜感激。
这是我的代码myapp.js:
var app = angular.module("MyApp", []);
app.controller("PostsCtrl", function($scope, $http) {
$http.get('http://fingerzeig.ch/api/agenda/list').
success(function(data, status, headers, config) {
console.log("success!");
console.log(data);
$scope.posts = data;
}).
error(function(data, status, headers, config) {
// log error
});
});
这里是HTML:
<body ng-app="MyApp">
<div ng-controller="PostsCtrl">
<ul ng-repeat="post in posts">
<li>{{post.ID}}</li>
</ul>
</div>
</body>
这里有链接:
http://www.w3schools.com/website/Customers_JSON.php =&gt;工作
http://fingerzeig.ch/api/agenda/list =&gt;不工作
以下是fiddels: 一个与我的请求网址,我想要工作。一个来自w3学校的示例网址。只有GET网址被更改。
小提琴不起作用:link
工作的人link
非常感谢!
答案 0 :(得分:3)
这可能是一个跨域问题。请注意,http://www.w3schools.com/website/Customers_JSON.php
具有Access-Control-Allow-Origin: *
响应标头而http://fingerzeig.ch/api/agenda/list
没有。
$ curl -I "http://www.w3schools.com/website/Customers_JSON.php"
如果您要提出跨域请求,则必须处理CORS。