我正在尝试向控制器发送表单。 jQuery 文档说.serializeArray()
应该发送一个 json 数组,并且.serialize()
应该创建一个查询字符串。
然而,当我尝试它并使用 IE9 F12 模式检查时,在这两种情况下它看起来都像一个查询字符串。我打哪个电话...
我缺少什么?
serializeArray
创建一个数组(not一个“json 数组”——没有这样的东西);你可以自己测试一下console.log($("#myform").serializeArray())
。另一方面,serialize
创建一个作为 HTTP 请求一部分的查询字符串。两种表示形式在某种意义上是等效的,即使用适当的代码可以将一种表示形式转换为另一种表示形式,而不会产生任何歧义。
两个版本都可用的原因是serialize
当您只想发出 HTTP 请求(只需将结果放入查询字符串中)时会更方便serializeArray
如果你想自己处理结果的话会更方便。
jQuery 的 AJAX 方法并不关心您是否给它们其中之一,因为它们会检测参数的类型并将其转换为查询字符串(如果它还不是一个查询字符串),因此当请求发出时,外部观察者无法分辨出是什么类型。参数的原始格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)