700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

时间:2019-12-04 03:52:48

相关推荐

js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

一、总结

一句话总结:两者都是对表单进行序列化,serializeArray()返回的是json对象,serialize()返回的是json形式的字符串,使用起来都是一样的

1、$(selector).serialize()序列化的话对中文做了什么操作?

为了避免出错,将中文变成了编码,因为内容要提交到服务器,编码可以保证汉字不出错,github上传文件的时候,也是进行的同样的操作

2、如何正常显示$(selector).serialize()序列化函数将中文变成的编码?

decodeURIComponent函数

36//decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。37$('#txt').html(decodeURIComponent($('form').serialize()))

3、js如何向控制台输入消息?

console对象的log方法

56console.log(obj) //onsole.log() 向web控制台输出一条消息

二、表单序列化函数serializeArray()和serialize()的区别是什么

1、相关知识

表单序列化

语法:$(selector).serialize()

jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,这样,我们就可以把序列化的值传给ajax()作为url的参数,轻松使用ajax()提交form表单了,而不需要一个一个获取表单中的值然后传给ajax()

serializeArray()序列化表单元素(类似'.serialize()'方法返回JSON数据结构数据。

’’’注意’’’此方法返回的是JSON对象而非JSON字符串。

2、代码

1 <!DOCTYPE html> 2 <html lang="en"> 3 <style> 4 </style> 5 <head> 6<meta charset="UTF-8"> 7<title>演示文档</title> 8<script type="text/javascript" src="jquery-3.1.1.min.js"></script> 9<style type="text/css">10 </style>11 </style>12 </head>13 <body>14<form id="form1">15姓名:<input type="text" name="user"><br>16电话:<input type="text" name="Tel"><br>17 <select name="buy">18 <option>买新房</option>19 <option>看二手房</option>20 </select>21 <input type="button" value="提交">22</form>23<div id="txt"></div>24<script>25/*26 $(function(){27 $('form input[type=button]').click(function(){28 $.ajax({29 type:'POST',30 url:'buy.php',31 data:$('form').serialize(),32 success:function(responseTxt,statusTxt,xhr){33//$('#txt').html($('form').serialize())34//alert($('form').serialize())35//字符串形式的键值对,并且对URL进行了编码36//decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。37$('#txt').html(decodeURIComponent($('form').serialize()))38 39 }40 })41 42 })43 })44 */45 $(function(){46 $('form input[type=button]').click(function(){47 $.ajax({48 type:'POST',49 url:'buy.php',50 data:$('form').serializeArray(),51 success:function(responseTxt,statusTxt,xhr){52//$('#txt').html(responseTxt)53var obj=$('form').serializeArray()54//alert(obj)55//$('#txt').html(obj)56console.log(obj) //onsole.log() 向web控制台输出一条消息57//[{name='user',value=''},{name='user',value=''},{name='user',value=''}]58alert(obj[0].name+"=="+obj[0].value)59 }60 })61 62 })63 })64</script>65 </body>66 </html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。