HTML的传参方式之静态传参
参数传递的分析:
我们点击一个页面的时候把想要传递的参数通过请求地址+?的方式实现.
例如 有一个超链接::href="'package_detail.html?id='+package.id",
点击之后回调转到 package_detail.html界面并传递一个参数,然后我们在
package_detail获取这个参数:
我们把这块代码封装为一个函数,当我们想要拿到通过url传递过来的参数时
可以调用这个参数并且传递一个我们想要的那么参数的名字就可以了,这样就方便
以后随时获取参数了.例如 getUrlParam("id")
代码实现:
function getUrlParam(paraName) {
// 获取当前的url地址,这样我们便可以拿到这个参数.
var url = document.location.toString();
//alert(url);
// 通过"?"对url进行切割,?后面的便是参数了
var arrObj = url.split("?");
//orrObj是一个数组,数组的0索引是url地址,1索引便是参数的名字和值了,
如(id=1)
if (arrObj.length > 1) {
// 如果有传递过来参数,我们便使用"&"继续将参数进行切割如(id=1&name=abc)
var arrPara = arrObj[1].split("&");
var arr;
// 如果有多个参数就遍历参数的数组
for (var i = 0; i < arrPara.length; i++) {
//我们可以看到每个参数的名字和值是以"="分割的,那么我们可以继续切割
然后得到参数的名字和对应的值
arr = arrPara[i].split("=");
// 如果这个参数的名字我们想要的参数,就返回这个参数的值
if (arr != null && arr[0] == paraName) {
return arr[1];
}
}
// 否则就返回"",表示地址中有参数,但是没有我们想要的
return "";
}
else {
// 返回"" 表示当前地址只是一个简单的url地址,并不携带参数
return "";
}
}