AllDecay
@AllDecay
Вечно отдыхающий.

Как заставить код читать ответ сервера?

Этот код не работает, т.к по непонятным мне причинам он не читает ответ сервера.
function RequestItems() {
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            var data = xhr.responseText;
            data.forEach(function(e){
                var ubid = e.ui_bid;
                +ubid&&my_func(ubid);
            })
        }};
    xhr.open('GET', 'https://csgo.tm/api/Trades/?key=' + secretkey, false);
    xhr.send();
}

А если немного его изменить, то:
function RequestItems() {
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            var data = xhr.responseText;
            console.log(data);
        }};
    xhr.open('GET', 'https://csgo.tm/api/Trades/?key=' + secretkey, false);
    xhr.send();
}

в консоль я все таки получаю ответ сервера.
Как изменить код, чтобы первый вариант кода перебирал ответ сервера(массив) и выполнял нужные мне действия с ним?
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 1
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
Ответ с сервера вам приходит в виде строки. Если вам нужно передать массив/объект, то предварительно его нужно преобразовать в строку, а если точнее, то в строку формата JSON. В PHP за это отвечает функция json_encode(). Получив такую json-строку на клиенте, вам надо сделать обратное преобразование, распарсить эту строку:
var data = JSON.parse(xhr.responseText);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы