Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 06.01.2019
Сообщений: 6

Получение параметров из GET-апроса

05.02.2019, 13:53. Показов 2422. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Есть вот такой ответ на запрос:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
 "status": "success",
 "time": {
  "date": "2019-02-05 12:37:58.410218",
  "timezone_type": 3,
  "timezone": "Europe/Moscow"
 },
 "sum": "14.88",
 "count": 1,
 "data": [
  {
   "id": 5588265,
   "what": "Человек",
   "sum": "14.88",
   "to_cash": "14.88",
   "to_pay": "16.07",
   "commission": "1.19",
   "status": "success",
   "type": "donation",
   "vars": {
    "user_ip": "91.201.144.17",
    "name": "Человек",
    "comment": "сообщение",
    "payment_system": "fcarduah"
   },
   "comment": "сообщение",
   "created_at": {
    "date": "2019-02-04 23:51:08.000000",
    "timezone_type": 3,
    "timezone": "Europe/Moscow"
   }
  }
 ]
}
Мне нужно получить параметр "коммент". Вот так не работает:
JavaScript
1
2
3
4
5
6
7
8
var request = new XMLHttpRequest();
                        request.open('GET', 'https://donatepay.ru/api/v1/transactions?access_token=<TOKEN>&limit=100&type=donation&status=success', true);
                        request.send();
                        request.onload = function (){
                        //alert(JSON.parse(request.responseText));
                            var response = JSON.parse(request.responseText);
                            alert(response.comment);
                        }
Из всех нужных параметров нормально получается только sum. Подскажите, пожалуйста, как получить остальные?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2019, 13:53
Ответы с готовыми решениями:

Получение get параметров
Всем привет. Возник такой вопрос: Получение get параметров в js. Первым делом полез в google. Нашёл лишь ответы, которые предлагаю...

Получение GET-параметров и передача на сторонний сайт
Доброго времени суток! Имеется страница, на которую попадают пользователи, имея в адресе UTM-метки. Например:...

Получение GET параметров из url
Здравствуйте, пытаюсь сейчас решить вопрос в инете нашел скрипт который получает get параметры из url но в js я полный 0 хочу разобраться...

4
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
05.02.2019, 14:13
Лучший ответ Сообщение было отмечено Rage_Of_Angels как решение

Решение

Rage_Of_Angels,

Примерно так -> https://codepen.io/Mr_Sergo/pe... itors=1010
HTML5
1
<div id="res"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var response = {
    "status": "success",
    "time": {
        "date": "2019-02-05 12:37:58.410218",
        "timezone_type": 3,
        "timezone": "Europe/Moscow"
    },
    "sum": "14.88",
    "count": 1,
    "data": [{
        "id": 5588265,
        "what": "Человек",
        "sum": "14.88",
        "to_cash": "14.88",
        "to_pay": "16.07",
        "commission": "1.19",
        "status": "success",
        "type": "donation",
        "vars": {
            "user_ip": "91.201.144.17",
            "name": "Человек",
            "comment": "сообщение",
            "payment_system": "fcarduah"
        },
        "comment": "сообщение",
        "created_at": {
            "date": "2019-02-04 23:51:08.000000",
            "timezone_type": 3,
            "timezone": "Europe/Moscow"
        }
    }]
}
 
// здесь выводим свойства объекта (ваш ответ сервера)
res.innerHTML = 
    response.status + '<br>' +
    response.time.timezone + '<br>' +
    response.data[0].what + '<br>' +
    response.data[0].vars.comment + '<br>' +
    response.data[0].created_at.timezone_type
;
По тому же принципу только с вашим ответом от сервера
1
0 / 0 / 0
Регистрация: 06.01.2019
Сообщений: 6
05.02.2019, 15:21  [ТС]
Mr_Sergo, у меня тут проблемка.
JavaScript
1
2
3
4
5
6
7
var request = new XMLHttpRequest();
                        request.open('GET', 'https://donatepay.ru/api/v1/transactions?access_token=yWzWNT7sG6ybqg1nEFKfUFmK4ZWnN8oVkr9YCvS0huUQ8BaMdkZG7Opmgj19&limit=100&type=donation&status=success', true);
                        request.send();
                        request.onload = function (){
                            var response = request.responseText;
                            document.getElementById("res").innerHTML = response + '<br>';
                        }
Выводит вот такую хрень:
JSON
1
{"status":"success","time":{"date":"2019-02-05 15:09:09.051836","timezone_type":3,"timezone":"Europe\/Moscow"},"sum":"14.88","count":1,"data":[{"id":5588265,"what":"\u041f\u0435\u0440\u0434\u043e\u043d\u044e\u0445","sum":"14.88","to_cash":"14.88","to_pay":"16.07","commission":"1.19","status":"success","type":"donation","vars":{"user_ip":"91.202.134.23","name":"\u041f\u0435\u0440\u0434\u043e\u043d\u044e\u0445","comment":"\u0410\u0440\u0442\u0430 \u043d\u0435 \u0438\u043c\u0431\u0430, \u0437\u0430\u0435\u0431\u0430\u043b","payment_system":"fcarduah"},"comment":"\u0410\u0440\u0442\u0430 \u043d\u0435 \u0438\u043c\u0431\u0430, \u0437\u0430\u0435\u0431\u0430\u043b","created_at":{"date":"2019-02-04 23:51:08.000000","timezone_type":3,"timezone":"Europe\/Moscow"}}]}
То есть, русские символы не отображает. При этом, если сделать вот так:
JavaScript
1
document.getElementById("res").innerHTML = response.comment + '<br>';
То выводит undefined
Не можете подсказать, с чем это может быть связано?

Добавлено через 10 минут
Mr_Sergo, вверху прописывал разные варики, сейчас прописано так:
HTML5
1
2
3
4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
05.02.2019, 21:06
Rage_Of_Angels, всё прекрасно работает.
В переменную url вставить свой адрес.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
        document.addEventListener("DOMContentLoaded", async () => {
            let json;
            try {
                let response = await fetch(url);
                if (response.ok) {
                    json = await response.json();
                    let data = json.data[0];
                    document.getElementById("res").innerHTML =
                        json.count + '<br>' +
                        data.comment + '<br>' +
                        data.commission + '<br>' +
                        data.created_at.date + '<br>' +
                        data.id + '<br>' +
                        data.status + '<br>' +
                        data.sum + '<br>' +
                        data.to_cash + '<br>' +
                        data.to_pay + '<br>' +
                        data.type + '<br>' +
                        data.vars.comment + '<br>' +
                        data.vars.name + '<br>' +
                        data.vars.payment_system + '<br>' +
                        data.vars.user_ip + '<br>' +
                        data.what + '<br>' +
                        json.status + '<br>' +
                        json.sum + '<br>' +
                        json.time.date + '<br>' //+
                    console.log(json);
                }
                else {
                    alert(`${response.status}: ${response.statusText}`);
                }
            }
            catch (e) {
                alert(e.message);
            }
        });
Кодирование символов в Unicode-числа ничему не мешает. Сервер кодирует.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
06.02.2019, 09:13
Цитата Сообщение от Rage_Of_Angels Посмотреть сообщение
у меня тут проблемка
показываю вам на "живом примере" -> http://some-test.onlinewebshop.net/example-fetch/
страница_откуда_посылается_запрос
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="script.js"></script>
</head>
<body>
 
<div id="res"></div>
 
</body>
</html>
script.js --- тут происходит запрос на сервер который отвечает вам JSON-объектом
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
window.addEventListener('DOMContentLoaded',()=> {
 
fetch('transactions.php').then(res => res.json() )
.then(response => document.querySelector('#res').innerHTML =
    response.status + '<br>' +
    response.time.timezone + '<br>' +
    response.data[0].what + '<br>' +
    response.data[0].vars.comment + '<br>' +
    response.data[0].created_at.timezone_type
);
 
});
transactions.php --- страница которая принимает запрос формирует JSON-объект и отвечает скрипту выше JSON-объектом, я так понимаю что вы отправляете запрос на сторонний сервер и не знаете как там выглядит код- поэтому код ниже исключительно для примера
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
header('Content-Type: text/html; charset=utf-8');  // устанавливает кодировку для корректного русских символов
 
echo '
    {
        "status": "success",
        "time": {
            "date": "2019-02-05 12:37:58.410218",
            "timezone_type": 3,
            "timezone": "Europe/Moscow"
        },
        "sum": "14.88",
        "count": 1,
        "data": [{
            "id": 5588265,
            "what": "Человек",
            "sum": "14.88",
            "to_cash": "14.88",
            "to_pay": "16.07",
            "commission": "1.19",
            "status": "success",
            "type": "donation",
            "vars": {
                "user_ip": "91.201.144.17",
                "name": "Человек",
                "comment": "сообщение",
                "payment_system": "fcarduah"
            },
            "comment": "сообщение",
            "created_at": {
                "date": "2019-02-04 23:51:08.000000",
                "timezone_type": 3,
                "timezone": "Europe/Moscow"
            }
        }]
    }
';
 
?>
Как видите все работает- поэтому смотрите приведенные тут для вас примеры и разбирайтесь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2019, 09:13
Помогаю со студенческими работами здесь

Получение системных параметров
Добрый день! Помогите, пожалуйста, почему не работает UINT uint; BOOL res = SystemParametersInfo(SPI_GETICONMETRICS, 0,...

Получение системных параметров
Начал изучать Win32 API. Первое задание - получение параметров системі. гугл помог сделать следующее однако результат к сожалению не...

Получение параметров из апплета
Набрал пример из книги Шилдта, но почему-то апплет не видит ни один параметр переданный ему. import java.awt.*; import...

Получение параметров из скобок
Здравствуйте, имеется строка вида &quot;func(text_1,Text2,text3)&quot;. На выходе хочу получить : &quot;text_1&quot; &quot;Text2&quot; ...

Получение параметров из POST запроса
Делаю бот ана spring для java , необходимо получить userID и TextMessage.Как это сделать?Подскажите пожалуйста... ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru