你们遇到过这种奇葩情况没?请求同一个url,不同的平台传参的大小写不一致……这个时候就只能在取参时兼容大小写了。
实现代码如下:
/**
* 不区分大小写获取参数值
* @return {type} param 参数的key
* @return {type} keyValue 返回经过兼容处理后的参数值
* @author ywy
* @date 2020-11-13
*/
function getCompatibleParam(param) {
var keyValue = ''; // 经过兼容处理后的参数值
if (param) {
var lowerCaseUrl = location.href.toLocaleLowerCase(); // 转化为小写后的url
var normalUrl = location.href; //正常url
var startIndexOfParam = lowerCaseUrl.indexOf(param.toLowerCase());
console.log('startIndexOfParam————>' + startIndexOfParam);
if (startIndexOfParam != -1) {
var realKey = normalUrl.slice(startIndexOfParam, startIndexOfParam + param.length);
console.log('realKey————>' + realKey);
keyValue = getQueryVariable(realKey);
}
}
console.log('keyValue————>' + keyValue);
return keyValue;
}
调用如下:
var userId = getCompatibleParam('userID');
这个时候无论传userId还是userID还是UserID还是其他的大小写形式,都可以拿到值了。
微信公众号:敲代码的小浪漫
欢迎大家关注~