2015-05-05 2 views
-1

Я - разработчик угловатых js-новичков. Недавно я пытаюсь создать приложение, использующее Yahoo Query Language (YQL). Мне действительно нужны данные cricket.teams из таблицы данных. Таким образом, я просто делаю запрос на $ http от контроллера angularjs с помощью запроса REST от Yahoo.

Вот я мой взгляд:

<div ng-controller="ProfileCtrl"> 
    <div style="height:80vh"> 
    {{Hello}} 
    </div> 
</div> 

Вот мой контроллер

app.controller('ProfileCtrl',function($scope,$http){ 
    $scope.Hello='Welcome'; 
    var url ='https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20cricket.teams&format=json&diagnostics=true&env=store%3A%2F%2F0TxIGQMQbObzvU4Apia0V0&callback='; 
// Simple GET request example : 
$http.get(url). 
    success(function(data, status, headers, config) { 
alert(data); 
    }). 
    error(function(data, status, headers, config) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
alert('error'+status); 
    }); 
}); 

Он возвращается ошибка со статусом 0. Это означает, что как-то ошибка. что я делаю неправильно здесь?

NB. Я пробовал с $ http.jsonp(). и дает тот же результат.

+0

Возможно, вам, скорее всего, придется использовать JSONP, пожалуйста, найдите, как сделать jsonp с помощью Угловой. – Chandermani

ответ

1

Если вы получаете status 0, то это может быть связано с illegal cross-origin requesthttps://stackoverflow.com/a/10910212/1061668

Несмотря на то что ваш код полностью работоспособен см, связанную plunker здесь http://plnkr.co/edit/xFAnI7

После апи вызова

$http.get(url).then(function(response) { 
    $scope.response = angular.toJson(response.data); 
}).catch(function(response) { 
    $scope.response = response; 
}); 

Will вернуть что-то вроде

{"query": {"count": 14, "created": "2015-05-05T10: 38: 27Z", "lang": "fi-FI", "diagnostics": {"cache": { "выполнение-старт-время": "0", "выполнение-стоп время": "3", "исполнение время": "3", "метод": "GET", "тип": "Memcached", "содержание": "TABLE.yql-запрос-yahooapis-com.v1.production.manhattan.bf1.yahoo.com.cricket.teams.cb28f8540307fdb68289fa5fedc2b832"}, "URL": [{ "выполнение стартером-времени":» 4 »,« время исполнения-остановки »:« 9 »,« время выполнения »:« 5 », ... и т. Д. И т. Д.

+0

Спасибо, что помогли. –