XmlHttpRequest работает через обратные вызовы. Итак, как я могу вернуть значение? Я попытался установить глобальную переменную, но, похоже, она не работает.Контроль потока с помощью XmlHttpRequest?
var response = null; // contains the most recent XmlHttpRequest response
// loads the info for this username on the page
function loadUsernameInfo(username) {
getUserInfo(username);
var profile = response;
if (profile) {
// do stuff
}
else {
indicateInvalidUsername(username);
}
}
getUserInfo()
не может возвращать результат, из-за обратного вызова:
function getUserInfo(username) {
var request = createRequest();
request.onreadystatechange = userObjFromJSON;
var twitterURL = "http://twitter.com/users/show/" + escape(username) + ".json";
var url = "url.php?url=" + twitterURL;
request.open("GET", url, true);
request.send(null);
}
функции обратного вызова:
function userObjFromJSON() {
if (this.readyState == 4) {
alert(this.responseText);
response = this.responseText;
}
}
Как я могу получить ответ обратно loadUsernameInfo()
?
Вам нужно каким-то образом, чтобы захватить значение 'username ', если вы собираетесь использовать его в' onLoadUsernameComplete' –