Angular.JS: HTTP-GET for YAHOO.Finance.SymbolSuggest
Uses a HTTP-GET call to Yahoo YQL API for auto-completion of traded stocks. Does not work because if HTTS problems. HTTP-JSONP should be used instead.
by Matthias Heise
HTML
<div ng-app='MyModule' ng-controller='DefaultCtrl'>
{{ test }}
</div>
JavaScript
function DefaultCtrl($log, $scope, $http, myService) {
var promise = myService.getSuggestions('yahoo');
promise.then(
function(payload) {
$scope.test = payload;
$log.info('received data', payload);
},
function(errorPayload) {
$log.error('failure loading suggestions', errorPayload);
});
}
angular.module('MyModule', [])
.factory('myService', function ($http, $log, $q) {
return {
getSuggestions: function (symbol) {
var deferred = $q.defer();
$http.get('http://d.yimg.com/autoc.finance.yahoo.com/autoc', {
cache: true,
params: {
query: symbol,
callback: 'YAHOO.Finance.SymbolSuggest.ssCallback'
}
})
.success(function(data) {
deferred.resolve(data);
})
.error(function(msg, code) {
deferred.reject(msg);
$log.error(msg, code);
});
return deferred.promise;
}
}
});