AJAX не обновляет переменную
Я делаю AJAX-запрос, который обновляет значение переменной (foo
) с ответом с сервера. Вот код, который я использую:
//## My variable ##
var foo = "";
//## Send request ##
$.ajax({
url: "/",
dataType: "text",
success: function(response) {
foo = "New value:" + response;
},
error: function() {
alert('There was a problem with the request.');
}
});
//## Alert updated variable ##
alert(foo);
Проблема в том, что значениеfoo
остается пустой строкой. Я знаю, что это не проблема со сценарием на стороне сервера, поскольку я получаю либо предупреждение об ошибке, либо, по крайней мере, строку."New value:"
Вот JSFiddle, который демонстрирует проблему:http://jsfiddle.net/GGDX7/
Почему ценностьfoo
не меняется?
Я делаю AJAX-запрос, который обновляет значение переменной (foo
) с ответом с сервера. Вот код, который я использую:
//## Compatibility ##
var myRequest;
if (window.XMLHttpRequest) {
myRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) {
myRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
//## My variable ##
var foo = "";
//## Response handler ##
myRequest.onreadystatechange = function() {
if (this.readyState === 4) {
if (this.status === 200) {
foo = "New value:" + this.responseText;
} else {
alert('There was a problem with the request.');
}
}
};
//## Send request ##
myRequest.open('GET', "response.php");
myRequest.send();
//## Alert updated variable ##
alert(foo);
Проблема в том, что значениеfoo
остается пустой строкой Я знаю, что это не проблема со сценарием на стороне сервера, поскольку я получаю либо предупреждение об ошибке, либо, по крайней мере, строку."New value:"
Вот JSFiddle, который демонстрирует проблему:http://jsfiddle.net/wkwjh/
Почему ценностьfoo
не меняется?