L'URL suivant donne le classement d'un concours au format JSON https://www.codechef.com/api/rankings/OCT17 Il suffit de remplacer OCT17 avec un code concoursCORS sur api de Codechef (en utilisant AngularJS)
je pensais de faire une application web qui récupérera cette api et afficher une coutume leaderboard.I essayé d'utiliser les AngularJS mais il est erreur CORS
C'est le code
`var app = angular.module('Ranklist', []);
app.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
console.log("cross origin allowed");
}
]);
app.controller('rank',function($scope,$http){
var uri = 'https://www.codechef.com/api/rankings/COPH2017?sortBy=rank&order=asc&page=1&itemsPerPage=25';
$scope.test = "test data";
console.log("love can hear")
$http.get(uri)
.then(function(response){
$scope.data = response.data;
});
});`
Console montre ces 2 erreurs en chrome
`Failed to load https://www.codechef.com/api/rankings/COPH2017?sortBy=rank&order=asc&page=1&itemsPerPage=25: The 'Access-Control-Allow-Origin' header has a value 'https://developers.codechef.com' that is not equal to the supplied origin. Origin 'http://127.0.0.1:58502' is therefore not allowed access.`
et
`angular.js:14525 Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"https://www.codechef.com/api/rankings/COPH2017?sortBy=rank&order=asc&page=1&itemsPerPage=25","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}`
Il n'y a pas d'erreur sur IE alors qu'il est sur le chrome peut-il être fixe ou il est juste un problème côté serveur (ou leur préférence)
I aussi essayé $ http.jsonp() fonction.