Работа с данными из GET запроса

Делаю запрос:

var x = new XMLHttpRequest();
x.open("GET", "https://site.ru/api/sss.php?token=1234&device=111", true);
x.onload = function (){
    alert(x.responseText);
}
x.send(null);

Получаю ответ: {"mid":"0","id_1":123,"id":111}

Как в дальнейшем работать с ответом? Необходимо получить из него значение после mid, а именно "0" и использовать его в условиях.


Ответы (1 шт):

Автор решения: Dmitry

Как по ключу:

let mess = {"mid":"0","id_1":123,"id":111};
console.log(mess["mid"])

Но еще зависит от типа данных, которые вы имеете_ возможно необходимо будет использовать JSON.parse

let mess = '{"mid":"0","id_1":123,"id":111}';
let mesJson = JSON.parse(mess);
let mid = mesJson["mid"];
if (mid == 0) {
  console.log("mid равен нулю");
} else {
  console.log("mid равен: " + mid);
}

UPD Переменную mess я определил, исходя их ваших данных, которые есть у вас в вопросе. Т.е. значения, которые я туда поместил - это просто пример данных, которые вы получаете при вашем GET-запросе. Очевидно, что данные могут быть и другие, т.е. как вы описываете, что под ключом mid может содержаться не ноль. Как было объяснено в комментариях, вы можете определить переменную, которая будет содержать эти самые данные при запросе:

x.onload = function (){
    let mess = x.responseText;
}

И в дальнейшем работать уже с этой переменной mess. И вот вам пример, что произойдет если вы получите данные, где mid не равен нулю. Так же я добавлю еще что нибудь, чтобы вы понимали, что можете писать любую логику, которая вам нужна

let mess = '{"mid":"что здесь???","id_1":123,"id":111}';
let mesJson = JSON.parse(mess);
let mid = mesJson["mid"];
if (mid == 0) {
  console.log("mid равен нулю");
} else {
  console.log("mid равен: " + mid + "\n и здесь я могу написать все что захочу или вместо вывода в консоль, вызвать какую нибудь функцию");
  let example = new Date;
  console.log(example.toISOString() + " - В это время я получил не ноль в ключе mid");
}

→ Ссылка