当前位置: 首页 > 知识库问答 >
问题:

Chrome开发工具网络选项卡中的“请求有效负载”和“表单数据”之间有什么区别

季骏祥
2023-03-14

我必须支持一个旧的web应用程序(我没有编写)。

当我填写表格并提交,然后检查Chrome中的“网络”选项卡时,我会看到“请求有效负载”,通常我会看到“表格数据”。两者之间有什么区别?何时发送一个而不是另一个?

谷歌搜索了这一点,但没有找到任何解释这一点的信息(只是人们试图让javascript应用程序发送“表单数据”而不是“请求负载”)。

共有3个答案

百里锋
2023-03-14

tl;lefloh博士(优秀)的回答:

  • 如果HTTP请求具有消息体,则它是“请求有效负载”
殷德本
2023-03-14

在Chrome中,带有“Content Type:application/json”的请求显示为request PayedLoad,并作为json对象发送数据。

但带有“Content-Type:application/x-www-form-urlencoded”的请求显示表单数据,并以Key:Value对的形式发送数据,因此,如果一个键中有一个对象数组,那么它将平铺该键的值:

{ Id: 1, 
name:'john', 
phones:[{title:'home',number:111111,...},
        {title:'office',number:22222,...}]
}

发送

{ Id: 1, 
name:'john', 
phones:[object object]
phones:[object object]
}
澹台硕
2023-03-14

请求有效负载——或者更准确地说:HTTP请求的有效负载主体

  • 数据通常通过POST或PUT请求发送。它是HTTP请求的头和CRLF之后的部分

带有Content-Type: Application/json的请求可能如下所示:

POST /some-path HTTP/1.1
Content-Type: application/json

{ "foo" : "bar", "name" : "John" }

如果您按照AJAX提交,那么浏览器将简单地向您显示它作为有效负载主体提交的内容。这就是它所能做的,因为它不知道数据来自哪里。

如果您提交的HTML表单包含method=“POST”内容类型:application/x-www-Form-urlencoded内容类型:多部分/表单数据您的请求可能如下所示:

POST /some-path HTTP/1.1
Content-Type: application/x-www-form-urlencoded

foo=bar&name=John

在这种情况下,表单数据是请求负载。这里浏览器知道更多:它知道bar是提交表单的输入字段foo的值。这就是它向你展示的。

因此,它们在内容类型上有所不同,但在提交数据的方式上没有差异。在这两种情况下,数据都在消息体中。Chrome区分了数据在开发者工具中的呈现方式。

 类似资料:
  • 问题内容: 当我发送AJAX Post请求并在send()方法的queryString中发送参数时, Chrome DeveloperTool的XHR捕获工具显示请求有效负载下的参数。当我使用jquery的post函数时,该工具会在“表单数据”部分下显示参数。 有什么区别 ? 问题答案: 您尚未提供有关如何使用send函数的足够信息,但我假设您未设置mime类型来指定您要发送表单数据 在这种情况下

  • 我的web客户端应用程序正在通过FetchAPI设置HTTP POST请求。 我看到选项飞行前请求是通过调试代理(Charles proxy)发送的,但它们不会显示在Google Chrome Developer Tools\Network选项卡中。 我没有在“网络”选项卡上设置任何过滤器。我记得选项请求在那里是可见的,但不再是了。我怎么把它们带回来?

  • 使用firebase的注册页面在网络选项卡中显示用户名和密码。是否有任何方法可以更安全地将用户信息发送到firebase(如哈希)。在此处输入图像描述 在firebase auth文档(https://firebase.google.com/docs/reference/rest/auth),同样提到电子邮件和密码将作为字符串发送!!不知道这是不是一种安全的方式,或者我在这里遗漏了什么。

  • 如果您使用vpn访问原始url,下面是我试图自动查找的链接https://mediacorpvideosaz.akamaized.net/c642f1d9-bfcd-46fe-8304-b4bf5c236d1e/bsy3hkaje6j_wuuyqp4m6hatpdd8cwlf.ism/qualitylevels(1984000)/manifest(format=m3u8-aapl)

  • 问题内容: 我正在使用Java Jersey 2.17构建RESTful Web服务。客户。我正在使用ExtJS 5开发。 我在服务上的课程 Main.java UserRi.java ResponseCorsFilter.java 目前,我一直坚持删除内容。在客户端上,我从表单面板中获取记录并调用擦除功能。请求/响应看起来像这样: 在控制台上,我看到了 也可以通过以下jQuery.ajax()调

  • 观察:我在Polymer中运行一个SPA,当我在chrome中的新后台选项卡中打开内部链接时,页面直到我关注该选项卡才完成加载(ajax和所有页面)。 问题:chrome在等待用户焦点做什么?或者,Polymer在完成页面渲染和发送ajax请求之前在等待什么? 奖励:我如何打开一个开发工具面板,目标是我在后台打开的标签,以观察发生了什么/没有发生什么? 额外的回答:如果你在一个选项卡上打开开发工具