Wenn ich innerhalb meiner XHR onreadystatechange Funktion bin, kann ich einfach tun document.title = xhr.responseText
, aber wenn ich die Funktion den responseText zurückgeben, kann ich keine Variable gleich meiner XMH-Wrapper, um es gleich der Antwort; Gibt es einen Weg, dies zu tun?Warum kann ich keine Variable setzen, die einem responseText-Wert von XMLHttpRequest entspricht?
Mein Wrapper:
ajax = function(url, cb)
{
xhr = (window.XMLHttpRequest)
? new XMLHttpRequest()
: new ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4 && xhr.status == 200)
{
cb(xhr.responseText);
};
}
xhr.open('get', url, true);
xhr.send();
};
Nun, wenn ich so etwas tat:
ajax('bacon.txt', function(_)
{
document.title = _;
}
funktioniert es absolut perfekt; document.title wird tatsächlich zum responseText des Aufrufs von bacon.txt. Wenn ich jedoch versuche, es so zu implementieren:
keine solche Glück. Kann jemand klären, warum das so ist? };
Code für den Wrapper wird dazu beitragen, es besser zu verstehen. – shahkalpesh
Sie haben Ihre Variable wahrscheinlich nicht außerhalb des Bereichs Ihrer Funktion deklariert. –