Rafi Ud Daula Refat
Rafi Ud Daula Refat

Reputation: 2257

Angularjs $http for YQL not working?

I am a newbie angular js developer. Recently i am trying to build an application that uses Yahoo Query Language (YQL). I actually need the cricket.teams data from the data table. So, i am just making a $http resquest from the controller of the angularjs with the REST Query provides by Yahoo.

Here i my view:

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

Here is my controller

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); 
  });
});

It is returning Error with the status 0. that means there is somehow an error. what i am doing wrong here ??

NB. i have tried with $http.jsonp() . and its giving the same result.

Upvotes: 0

Views: 494

Answers (1)

Mikko Viitala
Mikko Viitala

Reputation: 8404

If you are getting status 0 then it might be due to illegal cross-origin request https://stackoverflow.com/a/10910212/1061668

Despite that your code is fully functional, see related plunker here http://plnkr.co/edit/xFAnI7

Following api call

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

Will return something like

{"query":{"count":14,"created":"2015-05-05T10:38:27Z","lang":"fi-FI","diagnostics":{"cache":{"execution-start-time":"0","execution-stop-time":"3","execution-time":"3","method":"GET","type":"MEMCACHED","content":"TABLE.yql-query-yahooapis-com.v1.production.manhattan.bf1.yahoo.com.cricket.teams.cb28f8540307fdb68289fa5fedc2b832"},"url":[{"execution-start-time":"4","execution-stop-time":"9","execution-time":"5", ... etc etc

Upvotes: 1

Related Questions