微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

我失踪了什么

解决方法

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

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

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

原文地址:https://www.jb51.cc/jquery/182503.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐