我是 Angularjs 的新手,并尝试遵循 angularjs 网站文档中为 $http.get 给出的示例。
我有一个 REST 服务,它在调用时返回数据如下:
http://abc.com:8080/Files/REST/v1/list?&filter=FILE
{
"files": [
{
"filename": "a.json",
"type": "json",
"uploaded_ts": "20130321"
},
{
"filename": "b.xml",
"type": "xml",
"uploaded_ts": "20130321"
}
],
"num_files": 2}
我的 index.html 文件的部分内容如下所示:
<div class="span6" ng-controller="FetchCtrl">
<form class="form-horizontal">
<button class="btn btn-success btn-large" ng-click="fetch()">Search</button>
</form>
<h2>File Names</h2>
<pre>http status code: {{status}}</pre>
<div ng-repeat="file in data.files">
<pre>Filename: {{file.filename}}</pre>
</div>
我的 js 文件如下所示:
function FetchCtrl($scope, $http, $templateCache) {
$scope.method = 'GET'; $scope.url = 'http://abc.com:8080/Files/REST/v1/list?&filter=FILE';
$scope.fetch = function() {
$scope.code = null;
$scope.response = null;
$http({method: $scope.method, url: $scope.url, cache: $templateCache}).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
}).
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
};
}
但是当我运行它时,我没有看到任何文件名结果,并且我看到 http 状态代码 = 0
当我跑步时,
http://abc.com:8080/Files/REST/v1/list?&filter=FILE在浏览器中,我仍然可以看到想要的结果(如上所述)
我什至尝试在 Firefox 中使用 Firebug 进行调试,当我点击“搜索”按钮时,我看到上面的 URL 被调用,但响应看起来是空的。有趣的是,在 URL 下的 Firebug 中,它显示
选项“高于 URL”
代替
获取“以上网址”
您能否告诉我,我做错了什么以及为什么我无法访问 JSON 数据?
谢谢,