当我发送AJAX Post请求并在send()方法的queryString中发送参数时,
Chrome DeveloperTool的XHR捕获工具显示请求有效负载下的参数。当我使用jquery的post函数时,该工具会在“表单数据”部分下显示参数。
有什么区别 ?
您尚未提供有关如何使用send函数的足够信息,但我假设您未设置mime类型来指定您要发送表单数据
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
在这种情况下,发送的数据在编码查询字符串时会进行编码
xhr.send("name=foo&value=bar");
否则开发人员工具不会将其解释为表单数据。
jQuery在这方面为您做了大部分工作。
更新: 要明确回答有什么区别…
如果请求(典型地POST)具有Content-type
标头集合至application/x-www-form-urlencoded
所述主体预计为与网址编码标准查询字符串的形式 键=
值 通过加入对&
。然后, 表单数据 部分显示键值参数(在解析时查看)。这种方式在过去更为常见,因为它是HTML表单的默认设置。
其他情况在“ 请求有效负载” 部分中进行了显示(如今,为了可读性以及诸如JSON之类的常见格式已对其进行了解析)。
我必须支持一个旧的web应用程序(我没有编写)。 当我填写表格并提交,然后检查Chrome中的“网络”选项卡时,我会看到“请求有效负载”,通常我会看到“表格数据”。两者之间有什么区别?何时发送一个而不是另一个? 谷歌搜索了这一点,但没有找到任何解释这一点的信息(只是人们试图让javascript应用程序发送“表单数据”而不是“请求负载”)。
问题内容: 在下面的代码中,AngularJS 方法调用URL,然后将xsrf对象作为“请求有效负载”提交(如Chrome调试器网络标签中所述)。jQuery 方法执行相同的调用,但是将xsrf提交为“表单数据”。 如何使AngularJS将xsrf提交为表单数据而不是请求有效载荷? 问题答案: 需要将以下行添加到传递的$ http对象中: 并且传递的数据应转换为URL编码的字符串: 所以你有这样
问题内容: 我正在使用 PHP , ExtJS 和 ajax存储 。 它不通过POST或GET发送数据(在创建,更新,销毁时)。在 Chrome控制台中, 我在“ 请求有效负载 ”字段中看到我的传出参数为JSON 。 $ _POST 和 $ _GET 为空。 如何在PHP中检索它? 问题答案: 如果我正确理解这种情况,那么您只是通过http正文传递了json数据,而不是数据。 您可以使用以下代码段
问题内容: 我正在使用文件上传器,并且需要请求有效负载中的详细信息以进行裁剪。 我没有10位代表来发布POST请求的图片,但是它有 所以从avatar_data我所需要的,,,和。我知道我必须封送JSON,但是我不确定如何达到这一点? 问题答案: 实现接口。
问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型
问题内容: 在Python,有什么之间的差异模块?为什么有三个?他们似乎在做同样的事情… 问题答案: 我知道已经有人说过了,但我强烈建议你使用软件包。 如果你使用的是除python之外的语言,则可能是在考虑并且易于使用,代码不多且功能强大,这就是我以前的想法。但是该程序包是如此有用且太短,以至于每个人都应该使用它。 首先,它支持完全宁静的API,并且非常简单: 无论是GET / POST,你都无需