Es hat keinen Sinn, ich kapiere es nicht, diese Sache mit dem XMLHttpRequest. Bei sync gibt's Mecker in der Konsole und bei async ...
Also. Meine Frage ist: Bei folgendem Code kann das result des XMLHttpRequest nur innerhalb der function(data) verwendet werden. Das taugt mir nicht wirklich. Gibt es eine Möglichkeit das result des XMLHttpRequest in eine Variable zu packen, die dann auch außerhalb der function(data) verwendet werden kann, bzw. das result als result mit JSONrequest in eine Variable speichern? Fragt mich nicht, mir ist das alles drei mal zu hoch, was ich da schon alles drüber gelesen habe.
Soweit der so funktionierende Code. Ich hätte nun gerne das Result des Requests in einer Variable, wie zB:
Oder:
Dass das so nicht funktioniert ist mir klar. Wenn ich wüßte wie, würd ich hier nicht fragen.
JSFiddle: http://jsfiddle.net/npcmo2ds/1/
Also. Meine Frage ist: Bei folgendem Code kann das result des XMLHttpRequest nur innerhalb der function(data) verwendet werden. Das taugt mir nicht wirklich. Gibt es eine Möglichkeit das result des XMLHttpRequest in eine Variable zu packen, die dann auch außerhalb der function(data) verwendet werden kann, bzw. das result als result mit JSONrequest in eine Variable speichern? Fragt mich nicht, mir ist das alles drei mal zu hoch, was ich da schon alles drüber gelesen habe.
Code:
function JSONrequest(url, callback) { var request = new XMLHttpRequest(); request.overrideMimeType('application/json'); request.open('GET', url); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { callback(JSON.parse(request.responseText)); } }; request.send(); } var JSONurl = 'https://overpass-api.de/api/interpreter?data=[out:json];is_in(49.9854127,8.1257354);out;'; JSONrequest(JSONurl, function(data) { console.log(data); });
Code:
var result = JSONrequest(JSONurl, function(data) { return data; }); console.log(result);
Code:
var result; JSONrequest(JSONurl, function(data) { result = data; }); console.log(result);
JSFiddle: http://jsfiddle.net/npcmo2ds/1/
Kommentar