1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
|||||||||||
1 | |||||||||||
Не могу получить ответ XMLHttpRequest06.03.2020, 17:57. Показов 2389. Ответов 10
Метки нет (Все метки)
Такая вот проблемка возникла - отправляю пост запрос на сервер и нужно получить ответ. Запрос отправляется верно, но xhr.onload не срабатывает вообще.
Хорошо, пробую xhr.onreadystatechange - он срабатывает, но вместо ответа я получаю пустоту в алерт или null, если явно указываю, что формат ответа json(хотя он и так в таком формате). xhr.status выдаёт 0 Но суть в том, что запрос отправляется верно и ответ с нужными данными приходит - это я вижу через сниффер HttpAnalyzer Добавлено через 5 минут
Пробую сделать тоже самое с fetch, запрос вообще не отправляется.
0
|
06.03.2020, 17:57 | |
Ответы с готовыми решениями:
10
XMLHttpRequest ждет ответ XMLHttpRequest: не приходит ответ от сервера XmlHttpRequest запрос (отправка данных на label и ответ с сайта) Не могу сделать запрос XMLHttpRequest (POST) |
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
|
06.03.2020, 19:22 | 2 |
Попробуйте переменные var задавать.
Добавлено через 3 минуты https://xmlhttprequest.ru/ Там же в зависимости от браузера перебираются все возможные(2-3) объекты и создается тот, который возможно. Добавлено через 2 минуты Сделайте как здесь https://learn.javascript.ru/ajax-xmlhttprequest В open GET, а не POST.
0
|
1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
|
06.03.2020, 19:29 [ТС] | 3 |
Именно этот материал читал, проблема в том конкретно, что запрос отправляется успешно и с заданными параметрами, но ответ не выводится и onload не отрабатывает. При том, что в сниффере видно ответ
Не понял этот момент
0
|
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
|
06.03.2020, 19:35 | 4 |
В первой ссылке посмотри.
0
|
1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
||||||
06.03.2020, 19:58 [ТС] | 5 | |||||
Получаю "Готово!" и "0:" Судя по этому, мы видим, что запрос завершен (readyState=4), статус запроса 0 Как это понимать-то? Добавлено через 5 минут Ещё момент непонятный для меня - мой запрос кроссдоменный. По идее он не должен выполняться, но он выполняется Хорошо, я могу предположить, что запрос выполняется, но ответ не будет приниматься браузером, но ведь нет - этим же методом(только гет) я парсю курс биткоин с https://blockchain.info/ticker и всё отрабатывает успешно Добавлено через 2 минуты Самое обидное, что в сниффере я вижу все те данные ответа, которые мне нужны, а скрипт их не видит Добавлено через 13 минут Интересный момент - проблема с конкретным сайтом, этот же скрипт с другим сайтом отдает данные на ура. Да, можно предположить, что какая-то защита на нем, но тогда бы ответ не был бы виден и снифферу, сервер тогда бы просто не отдавал данные. В чём может быть причина такого?
0
|
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
|
06.03.2020, 20:02 | 6 |
Что Вы пытаетесь получить? Я так понимаю, что нужно получить какой-то файл.
0
|
1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
||||||
06.03.2020, 20:03 [ТС] | 7 | |||||
Но в то же время в сниффере статус 200ОК и данные есть Вообще ничего не понимаю Добавлено через 47 секунд Нет, отправить данные запроса и получить json ответ
0
|
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
|
06.03.2020, 20:06 | 8 |
На другой странице посмотрел - тоже GET-запрос.
Добавлено через 1 минуту - может это 2 разных запроса?
0
|
1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
|
06.03.2020, 20:41 [ТС] | 9 |
Да тут уже проблема не в запросе, он отправляется корректно.
Проблема в получении ответа Добавлено через 2 минуты Я же объясняю - отправляется один запрос с параметрами(он отправляется успешно) и в ответ приходят данные json В сниффере я вижу один запрос и данные ответа от сервера Почему этих данных не видит браузер... Добавлено через 32 минуты Хмм, проблема в кроссдоменном запросе - конкретно этот сервер запрещает запросы с других доменов, что весьма печально Но всё-равно не ясно, почему в таком случае сниффер всё-равно получает ответ Загадка
0
|
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
06.03.2020, 21:01 | 10 |
Сниффер работает как серверное приложение. А для сервера не существует кросс-доменного запрета.
Gastiganto, целенаправленно поставлена задача использовать супер-устаревший класс XMLHttpRequest ? Уже пять лет можно fetch использовать.
0
|
1 / 1 / 0
Регистрация: 15.03.2018
Сообщений: 79
|
|
06.03.2020, 21:11 [ТС] | 11 |
Это абсолютно никак не поможет решить проблему кроссдоменных запросов
Добавлено через 1 минуту Да, но запрос-то исходит от браузера - следовательно несмотря на запрет, запрос отсылается
0
|
06.03.2020, 21:11 | |
06.03.2020, 21:11 | |
Помогаю со студенческими работами здесь
11
Не могу получить ICMP ответ Не могу получить ответ от сервера Не могу получить ответ с сайта VBA Не могу получить ответ от телеграмм бота Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |