URL操作函數(shù)
調(diào)用名為$. param
的工具函數(shù),能使對象或數(shù)組按照key/value
格式進行序列化編碼,該編碼后的值常用于向服務(wù)端發(fā)送URL請求,調(diào)用格式為:
$. param (obj);
參數(shù)obj表示需要進行序列化的對象,該對象也可以是一個數(shù)組,整個函數(shù)返回一個經(jīng)過序列化編碼后的字符串。
例如,通過$.param()
函數(shù),對指定的對象進行序列化編碼,使其成為可執(zhí)行傳值的URL地址,并將該地址顯示在頁面中,如下圖所示:

在瀏覽器中顯示的效果:

從圖中可以看出,通過調(diào)用工具函數(shù)$.param()
可以將一個對象進行序列化并編碼成可以在地址欄中直接執(zhí)行的URL字符串。
param和serialize的區(qū)別是什么?前者是對任意的參數(shù)進行URL地址格式的轉(zhuǎn)換,而后者僅屬于form提交的數(shù)據(jù)轉(zhuǎn)換。
任務(wù)
我來試試,親自調(diào)用$.param()
函數(shù)將一個對象進行序列化編碼。
在下列代碼的第26行,調(diào)用$.param()
函數(shù),將對象objInfo進行序列化。

- ?不會了怎么辦
-
- 由于
param()
在jQuery中是全局性的工具函數(shù),因此,可以通過$或jQuery再加逗點的形式直接訪問。
param()
函數(shù)中的參數(shù)為需要進行序列化編碼的對象,本示例中為對象變量objInfo保存的值。
<!DOCTYPE html>
<html>
<head>
<title>URL操作函數(shù)</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="http://yifanck.cn/data/jquery-1.8.2.min.js" type="text/javascript"></script>
</head>
<body>
<div id="divtest">
<div class="title">
<span class="fl">URL操作函數(shù)</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;
}
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求