调用名为$. param的工具函数,能使对象或数组按照key/value格式进行序列化编码,该编码后的值常用于向服务端发送URL请求,调用格式为:
$. param (obj);
参数obj表示需要进行序列化的对象,该对象也可以是一个数组,整个函数返回一个经过序列化编码后的字符串。
例如,通过$.param()函数,对指定的对象进行序列化编码,使其成为可执行传值的URL地址,并将该地址显示在页面中,如下图所示:
在浏览器中显示的效果:
从图中可以看出,通过调用工具函数$.param()可以将一个对象进行序列化并编码成可以在地址栏中直接执行的URL字符串。
param和serialize的区别是什么?前者是对任意的参数进行URL地址格式的转换,而后者仅属于form提交的数据转换。
<!DOCTYPE html> <html> <head> <title>URL操作函数</title> <link href="style.css" rel="stylesheet" type="text/css" /> <script src="http://www.imooc.com/data/jquery-1.8.2.min.js" type="text/javascript"></script> </head> <body> <div id="divtest"> <div class="title"> <span class="fl">URL操作函数</span> </div> <div class="content"> <div class="tip"></div> </div> </div> <script type="text/javascript"> $(function () { //基本信息对象 var objInfo = new Object(); objInfo.name = "白富美"; objInfo.sex = 1; //序列化对象 var objNewInfo =?; //显示序列化后的对象 var strTmp = "<b>对象 白富美 序列化后</b>:<br/><br/>"; strTmp += objNewInfo; //显示在页面中 $(".tip").show().append(strTmp); }); </script> </body> </html>
#divtest { width: 302px; } #divtest .title { padding: 8px; background-color: Blue; color: #fff; height: 23px; line-height: 23px; font-size: 15px; font-weight: bold; } #divtest .content { padding: 8px; background-color: #fff; font-size: 13px; } #divtest .content .tip { border: solid 1px #ccc; background-color: #eee; margin: 10px 0px; padding: 8px; display: none; } .fl { float: left; } .fr { float: right; }