Я делаю HTTP-запрос на отправку с помощью axios. Тело ответа представляет собой большую строку размером 4 МБ.
axios({
method: 'POST',
url: url,
data: data,
headers : headers,
})
.then(function (response) {
console.info(response);
});
Однако, когда я вызываю эту функцию из браузера, ответ обрезается до 1024 символов (полный ответ находится на вкладке «Сеть»).
Кроме того, когда я запускаю эту функцию в терминале с помощью Node, я получаю полный ответ.
Как я могу получить полный ответ в моем коде JavaScript при запуске из браузера?
Какого черта вы получаете ответ размером 4 МБ после публикации данных?
Кроме этого, если вы находитесь на стороне nodeJS, просто напишите содержимое ответа в файл отладки.
const fse = require('fs-extra')
const postMyAwesomeData = async function () {
try {
const firstCall = await axios({ method: 'POST', url, data, headers });
// if you need more of those calls
const responses = Promise.all([firstCall]);
// responses.forEach does not handle very well async/await ^^
for (let [index, response] of responses.entries()) {
await fse.write(`<path to debug file>/response${index}.txt`)
}
} catch (err) {
console.info(`Hum something weird happen -_- ${err}`);
}
}
Оцените этот замечательный пакет https://www.npmjs.com/package/fs-extra
Но, честно говоря, каков фактический вариант использования для получения такого большого отклика после публикации ваших данных?
Вы уверены, что дело не только в усечении
console.info
.. Вы пробовалиconsole.info(response.length)
? Также вы пробовали настройкиtimeout: 5000
и, возможно,maxContentLength: 5000000