前后端交互时,总会遇到一个页面要向另一个页面传递参数,然后该页面通过向后台传递参数来获取数据的时候也就是ajax的get方法传参数,为了能够方便进行页面之间的传参,我们可以将下面的文件get.params.js导入到html页面上,就可以进行页面之间的传值与接收值,前提是html页面已经导入了jquery文件,否则是无效的。
jQuery.extend({
/**
3 * Returns get parameters.
4 *
5 * If the desired param does not exist, null will be returned
6 *
7 * @example value = $.getURLParam("paramName");
8 */
getURLParam: function(strParamName)
{
var strReturn = "";
var strHref = window.location.href.toUpperCase();
var bFound = false;
var cmpstring = strParamName.toUpperCase() + "=";
var cmplen = cmpstring.length;
if (strHref.indexOf("?") > -1)
{
var strQueryString = strHref.substr(strHref.indexOf("?") + 1);
var aQueryString = strQueryString.split("&");
for (var iParam = 0; iParam < aQueryString.length; iParam++)
{
if (aQueryString[iParam].substr(0, cmplen) == cmpstring)
{
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
bFound = true;
break;
}
}
}
if (bFound == false) return null;
return strReturn;
},
getStringParam: function(strParamName, strParamString)
{
var strReturn = "";
var strHref = strParamString.toUpperCase();
var bFound = false;
var cmpstring = strParamName.toUpperCase() + "=";
var cmplen = cmpstring.length;
var strQueryString = strHref;
var aQueryString = strQueryString.split("&");
for (var iParam = 0; iParam < aQueryString.length; iParam++)
{
if (aQueryString[iParam].substr(0, cmplen) == cmpstring)
{
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
bFound = true;
break;
}
}
if (bFound == false) return null;
return strReturn;
}
});
例如:将tplb.js里面的参数activityid传递到tplb_one.js。
在传值文件tplb.js里,只需要在需要跳转的地方加上
window.location.href="tplb_one.html?activityid="+activityid;
这里的activityid是需要传递的参数,它是通过ajax获得的,这样就能跳转到接收传值的问件tplb_one.js对应的tplb_one.html?activityid=..... 页面上
在接收传值的tplb_one.js里写上
var activityid;
activityid=$.getURLParam("activityid");
就能接收到传递的参数了,非常的方便快捷简单!