- Регистрация
- 11.12.2016
- Сообщения
- 102
- Благодарностей
- 53
- Баллы
- 28
Версия зенки 7.7.1.0 + cef ХРОМ + js кубик
--------------------------------------------------
В браузере хватаем через панель разработчика фетч код для запроса на сервер:
Далее модифицируем, чтобы получить ответ в переменную result11.
И тут при выполнении на странице прикол: стабильно при выполнении первого раза кубик шлет нафик красным крестиком, делаем сразу попытку 2 - result11 заполняется ответом сервера. Думал может result11 заранее не обьявил, добьявлял и заранее - толку ноль. Получается чтобы получить ответ от сервера нужно 2 раза сделать запрос, первый раз кубик выдает неудачное выполнение, но фактически запрос на сервер уходит смотря по монитору трафика, а бывает критически нельзя так делать 2 запроса, чтобы получить нужный ответ.
Вопрос: как сделать так, чтобы ответ ложился в переменную сразу? Делал js код с ожиданием ответа от сервера, толку ноль, запрос улетает, ответ по монитору приходит, переменная пустая. Думал может js код в браузер улетает и кубик не дожидается ответа? Как исправить? В консоли код выполняется всегда корректно с первого раза. Ссылки в коде меняйте на свои, это обычный пост запрос, привел для примера, на всех серверах одинаково ведет себя этот код.
--------------------------------------------------
В браузере хватаем через панель разработчика фетч код для запроса на сервер:
C#:
fetch("https://xxx.gg.ru/misk/leo", {
"headers": {
"accept": "application/json, text/javascript, */*; q=0.01",
"accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"sec-ch-prefers-color-scheme": "light",
"sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"114\", \"Google Chrome\";v=\"114\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-requested-with": "XMLHttpRequest"
},
"referrer": "https://pass.gg.ru/",
"referrerPolicy": "origin",
"body": "token=27bae141168&process=MISSGO",
"method": "POST",
"mode": "cors",
"credentials": "include"
});
C#:
fetch("https://xxx.gg.ru/misk/leo", {
"headers": {
"accept": "*/*",
"accept-language": "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.2",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"114\", \"Google Chrome\";v=\"114\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-requested-with": "XMLHttpRequest"
},
"referrer": "https://pass.gg.ru/",
"referrerPolicy": "same-origin",
"body": "token=27bae141168&process=MISSGO",
"method": "POST",
"mode": "cors",
"credentials": "include"
})
.then(response => response.text())
.then(data => {
result11 = data;
console.log('Ответ от сервера:', result11);
})
.catch(error => console.error('Ошибка:', error));
return result11;
Вопрос: как сделать так, чтобы ответ ложился в переменную сразу? Делал js код с ожиданием ответа от сервера, толку ноль, запрос улетает, ответ по монитору приходит, переменная пустая. Думал может js код в браузер улетает и кубик не дожидается ответа? Как исправить? В консоли код выполняется всегда корректно с первого раза. Ссылки в коде меняйте на свои, это обычный пост запрос, привел для примера, на всех серверах одинаково ведет себя этот код.