jquery – .serialize()和.serializeArray()之间有什么区别?

我正在尝试将表单发送给控制器。 jQuery文档说.serializeArray()应该发送一个json数组,而.serialize()应该创建一个查询字符串。

但是,当我尝试并使用IE9 F12模式进行检查时,它们看起来像一个查询字符串,在这两种情况下。有人叫我做…

我失踪了什么

解决方法

serializeArray创建一个数组(不是一个“json数组” – 没有这样的东西);你可以用console.log($(“#myform”)。serializeArray())来测试这个。另一方面,serialize创建一个查询字符串,该字符串是HTTP请求的一部分。在使用适当代码的情况下,两个表示都是等效的,您可以将其转换为另一个,而不会有歧义。

两个版本可用的原因是,当您只想要发出HTTP请求(只是将结果放在查询字符串中)时,serialize更方便,而如果要自己处理结果,serializeArray更方便。

jQuery的AJAX方法不关心如果你给他们一个或另一个,因为它们检测到参数的类型,并将其转换成一个查询字符串,如果它不是一个已经存在,所以请求在观察者之外是不能告诉原始格式的参数。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...