无法在 Chrome 网络标签中看到请求负载

无法在 Chrome 网络标签中看到请求负载

我正在使用 Windows 10。当我打开 Chrome devtools、转到 XHR 请求并单击标头时,我只看到以下三件事:

在此处输入图片描述

知道为什么我在任何地方都看不到请求负载吗?我使用的是 Chrome 版本 65.0.3325.162(官方版本)(64 位)。以下是我的请求标头(URL 匿名化为“示例”):

Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 231
Content-Type: application/json
Host: example.com
Origin: http://localhost:9000
Referer: http://localhost:9000/example
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36

我想知道这是否是导致这种gzip, deflate情况的原因Accept-Encoding。或者这是 Chrome 错误?

更新: 不管怎么说,我注意到这些有问题的请求的“类型”是json。通常,在其他地方,在其他 Ajax 驱动的 Web 应用程序中,它是xhr。我猜这就是问题所在。所以问题是,这是 Chrome 错误还是 Chrome 功能?

答案1

如果您的表单设置了enctype="multipart/form-data",那么 Chrome 将无法捕获请求负载。

<form action="" method="POST" enctype="multipart/form-data">
</form>

答案2

啊,我明白了。此应用程序使用 Aurelia,此提交修复了此问题:https://github.com/aurelia/fetch-client/commit/03ae35f507464d5532e8b31011014b3040e594e3

总结:

Blob 会掩盖 Chrome 开发工具等中的 JSON,因此我们将停止将它们用于 JSON。

这就是问题所在!

相关内容