2017-12-31 162 views
2

Ich bekomme Json Daten von Gltich API.Javascript, wie JSON Daten mit API Anruf an umgeleitete URL

https://wind-bow.gomix.me/twitch-api/users/freecodecamp

Wenn ich auf diesen Link gehen, leitet die URL zu einer anderen Domäne

https://wind-bow.glitch.me/twitch-api/users/freecodecamp

(Domain Namensänderung gomix.me-glitch.me)

Mit postman für beide HTTPs Anfrage bekomme ich die gleichen JSON-Daten. Doch sowohl produzieren nicht die gleichen Ergebnisse bei der Verwendung von jQuery .getJSON Methode

$(document).ready(function() { 
 
    $.getJSON("https://wind-bow.gomix.me/twitch-api/users/freecodecamp", function(data1) { 
 
     console.log("Gomix.me URL", data1); // nothing outputted 
 
    }); 
 
    
 
    $.getJSON("https://wind-bow.glitch.me/twitch-api/users/freecodecamp", function(data2) { 
 
     console.log("Glitch.me URL", data2); // expected data outputted 
 
    }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Ist es möglich, JSON-Daten über eine URL zu erhalten, die gomix.me weitergeleitet wird, oder bin ich nur in der Lage Verwenden Sie den endgültigen Endpunkt nur glitch.me?

Antwort

2

Die Gomix-Anfrage ist durch die CORS-Richtlinie blockiert. Sie können diese Heroku-App verwenden, um sie zu umgehen: https://cors-anywhere.herokuapp.com/.

$(document).ready(function() { 
 
    $.getJSON("https://cors-anywhere.herokuapp.com/https://wind-bow.gomix.me/twitch-api/users/freecodecamp", function(data1) { 
 
     console.log("Gomix.me URL", data1); // now it works 
 
    }); 
 
    
 
    $.getJSON("https://wind-bow.glitch.me/twitch-api/users/freecodecamp", function(data2) { 
 
     console.log("Glitch.me URL", data2); // expected data outputted 
 
    }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

könnte ich nicht etwas wie? Callback =? am Ende meiner https Anfrage stattdessen? – Kagerjay

1

Wenn Sie $.ajax mit dataType: 'jsonp' verwenden, es hilft Ihnen.

$(document).ready(function() {   
    $.ajax({ 
    url: "https://wind-bow.gomix.me/twitch-api/users/freecodecamp", 
    type: 'GET', 
    dataType: 'jsonp', 
    success: function(data1) { console.log("Gomix.me URL", data1);}  
    }); 
});