Я новичок в Angularjs и попытался следовать примеру, приведенному для $http.get, на документации сайта angularjs.
У меня есть служба 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 status = 0
Когда я запускаю,
http://abc.com:8080/Files/REST/v1/list?&filter=FILEв браузере, я все еще вижу желаемые результаты (как упоминалось выше)
Я даже пытался отлаживать Firebug в firefox, я вижу, что указанный выше URL-адрес вызывается, когда я нажимаю кнопку "Поиск", но ответ выглядит пустым. И интересно в Firebug по URL, он показывает
OPTIONS "Above URL"
вместо
GET "Above URL"
Не могли бы вы сообщить мне, что я делаю неправильно и почему я не могу получить доступ к данным JSON?
Спасибо,