Ich versuche nur, meinen Kopf um JSON/JSONP zu wickeln und Domain-Probleme zu überwinden.Warum braucht JSONP hier nicht?
Hier ist ein Beispiel, das ich gefunden habe.
$(document).ready(function() {
var user = "jamesbarnett"; //treehouse username
/* get treehouse profile info via JSON */
$.getJSON("https://teamtreehouse.com/" + user + ".json", function(data) {
console.log(data);// intialize list
$("#badges").html('<ol>');
var output = "";
/* loop through the JSON, parse out badge name & icon
wrap it in some HTML. */
for (var i in data.badges) {
output += "<li>";
output +="<figure>";
output +="<figcaption>" + data.badges[i].name + "</figcaption>";
output += "<img src = '" + data.badges[i].icon_url + "'/>";
output+="</figure>";
output += "</li>";
}
$("#badges ol").append(output); // append li
$("#badges ol").append('</ol>'); // close list
/* hide spinner and then output HTML we built in the for loop */
$(".spinner").hide();
});
});
https://codepen.io/jamesbarnett/pen/oHsvr
Kann jemand bitte, warum in diesem Beispiel erklären gibt es keine Cross-Domain-Fragen (und die Person benötigt nicht JSONP verwenden)
Da die Daten aus Treehouse kommt Domain ... und wird auf codepen.io angezeigt .... ist das keine Cross-Domain? Hier
Vermutlich, weil die Antwort von 'teamtreehouse.com' Domäne CORS-Header enthält, die die Anforderung von der erforderlichen Domäne –
stammen können Beachten Sie auch, dass JSON und JSONP nicht austauschbar sind. Sie müssen verwenden, was der Endpunkt Ihnen gibt. –