JS中使用window.open(url,..);开启新窗口时,传参url没有乱码,但是传到后台出现乱码 解决办法

在使用window.open(url,..);开启新窗口时传参url没有乱码,当拿到的值却乱码了。

 

这种情况是由于ie的某些版本浏览器不兼容url传原始中文的模式。

 

大部分url中的中文都用urf-8转码成了%4E5R%这种模式。这是所有浏览器都可以认识的。

 

但是也可以直接用www.baidu.com?query=中国。这样的url传参。

 

但是某部分ie内核不支持。

 

解决办法是:

传参之前先用

参数1:

var url = encodeURI('select_page_data.action?pageUrls='+ $("#pageUrls").val());

window.open(url,'选择网页', 'alwaysRaised=yes,z-look=yes,screenX........');

参数2:

function sendNigao(tranName){

var url = encodeURI('fawensearchRoles.action?tranName='+ tranName);
var obj = new Object();
obj = window.showModalDialog(url,window,"dialogWidth=500px;dialogHeight=400px");

//this.location = 'fawensearchRoles.action?tranName='+tranName,'','top=120,left=187,height=300,width=500,menubar=no,resizable=yes';
}

这样的话 所有参数都变成标准形式。接下来界面里拿到的参数肯定就对了。

你可能感兴趣的:(JS中使用window.open(url,..);开启新窗口时,传参url没有乱码,但是传到后台出现乱码 解决办法)