Вы и так присваиваете параметр из ответа переменной value . Но судя по всему у вас вопрос совсем в другом.
Вы делаете асинхронный запрос, полностью это у вас выглядит скорее всего примерно так:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
//alert(xhr.responseText);
var jsonResponse = JSON.parse(xhr.responseText);
value = jsonResponse.id;
}
else {
console.error(xhr.statusText);
}
};
xhr.open("GET",url, true);
xhr.send();
запрос отправляется в момент xhr.send(), а функция xhr.onreadystatechange отработает, когда придет ответ. Когда это произойдет по большому счету не известно.
Что бы использовать данные из ответа, вам нужно в callback функции вызвать действие которое должно использовать переменную value, например так:
var value;
function useValue() {
// Делаете то что вам нужно
}
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
//alert(xhr.responseText);
var jsonResponse = JSON.parse(xhr.responseText);
value = jsonResponse.id;
useValue();
}
else {
console.error(xhr.statusText);
}
};