IE浏览器 页面跳转时带中文参数报错:页面找不到;请求接口传中文参数报错400问题解决方法

18 篇文章 0 订阅

页面跳转时将带中文参数的url用encodeURI编码:

//将url编码
morePtbox('我的资产', encodeURI('morebox/myAssetsList.html?top_name='+ '我是中文参数',['80%', '80%']);

弹框控件:

function morePtbox(ptTitle, ptUrl, size) { //中型弹框封装(网报)
	layer.open({
		type: 2, //基本层类型
		title: [ptTitle, 'font-size:18px'], //缩小后显示的
		skin: 'demo-class',
		maxmin: true, //允许放大和缩小
		shadeClose: false, //点击遮罩关闭层
		anim: 2,
		isOutAnim: true,
		area: size, //弹出层宽高
		full: function(a, index) {
			//监听最大化
			var body = layer.getChildFrame('body', index);
			body.find('#spmx').css('height', '600px');
		},
		restore: function(a, index) {
			//监听还原
			var body = layer.getChildFrame('body', index);
			body.find('#spmx').css('height', '250px');
			if (body.find('.spselbox').css('display') != 'none') {
				body.find('#spmx').css('height', '138px');
			}
		},
		content: ptUrl
	});
};

截取地址栏参数控件:

//判断地址栏传的参数  name为传入参数  截取地址栏参数
function getQueryStringDecode(name) {
	var dzurl = decodeURI(window.location.href); //解编码
	var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
	var matcher = pattern.exec(dzurl);
	var items = null;
	if(null != matcher) {
		try {
			items = decodeURIComponent(decodeURIComponent(matcher[1]));
		} catch(e) {
			try {
				items = decodeURIComponent(matcher[1]);
			} catch(e) {
				items = matcher[1];
			}
		}
	};
	return items;
};

获取参数:

//获取参数
var top_name = getQueryStringDecode('top_name');
//将请求url编码
var surl = encodeURI(API_URL + 'newHomePageMsg.do?myAssetTypeDetailList&top_name=' + top_name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值