Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单数据和请求负载之间的区别是什么?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 表单数据和请求负载之间的区别是什么?

Javascript 表单数据和请求负载之间的区别是什么?,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我在send()方法中发送AJAX Post请求并在queryString中发送参数时 ChromeDeveloper工具的XHR捕获工具显示请求负载下的参数。 当我使用jquery的post函数时, 该工具在“表单数据”部分下显示参数 区别是什么?您没有提供足够的信息说明如何使用send函数,但我假设您没有设置mime type来指定发送表单数据 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

当我在send()方法中发送AJAX Post请求并在queryString中发送参数时

ChromeDeveloper工具的XHR捕获工具显示请求负载下的参数。 当我使用jquery的post函数时, 该工具在“表单数据”部分下显示参数


区别是什么?

您没有提供足够的信息说明如何使用send函数,但我假设您没有设置mime type来指定发送表单数据

xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
在本例中,发送的数据在编码查询字符串时进行编码

xhr.send("name=foo&value=bar");
否则,开发人员工具不会将其解释为表单数据

jquery在这方面为您做了大部分工作

更新:要明确回答区别是什么

  • 如果请求(通常为POST)的
    内容类型
    标题设置为
    application/x-www-form-urlencoded
    ,则正文应采用标准查询字符串的形式,url编码键
    =
    值对由
    &
    连接表单数据部分然后显示键值参数(查看和解析时)。这种方式在过去更为常见,因为它是HTML表单的默认方式

  • 其他情况显示在请求有效负载部分中(现在为可读性以及JSON等常见格式进行了解析)


对于未来的读者,请遵循以下内容:@revo这是2012年提出的问题。你联系的人是在2014年被问到的。你在2019年指出了这一点,我在这里没有做错任何事。尽管另一个问题更年轻,但它受到了更多的关注。所以我投了一票。@revo啊,我明白了。没问题。我也会投票。访问者应该注意,
xhr.setRequestHeader()
调用应该放在
xhr.open()
调用和
xhr.send()调用之间。否则,您将得到一个DOM异常错误。它没有回答问题
表单数据和请求负载之间有什么区别?
,只是说明如何获取其中一个。