在浏览器中截断HTTP响应

时间:2018-05-01 19:52:28

标签: javascript npm vue.js axios

我正在使用axios发布HTTP post请求。响应的主体是一个4MB的大字符串。

{{1}}

但是,当我从浏览器调用此函数时,响应被截断为1024个字符(网络选项卡中有完整的响应)。

此外,当我在带有Node的终端中运行此功能时,我得到了完整的响应。

从浏览器运行时,如何在JavaScript代码中获得完整响应?

1 个答案:

答案 0 :(得分:-1)

为什么你在发布数据后会收到4MB的响应?

除此之外,如果您在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.log(`Hum something weird happen -_- ${err}`);
    }
}

查看这个很棒的软件包https://www.npmjs.com/package/fs-extra

但是真的,在发布数据后检索如此大的响应的实际用例是什么?