使用AJAX时,并不总是使用的 XMLHTTP 的版本越高越好哎
1 //创建 XMLHTTPREQUEST 的实例
2 this.__createRequestEntity = function()
3 {
4 var req;
5 var msxml_progid = ['MSXML2.XMLHTTP.8.0', 'MSXML2.XMLHTTP.7.0', 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP.2.6', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
6 try
7 {
8 req = new XMLHttpRequest();
9 }
10 catch (e)
11 {
12 for(var i = 0; i < msxml_progid.length; ++i)
13 {
14 try
15 {
16 req = new ActiveXObject(msxml_progid[i]);
17 break;
18 }
19 catch (e){}
20 }
21 }
22 return req;
23 }
24
2 this.__createRequestEntity = function()
3 {
4 var req;
5 var msxml_progid = ['MSXML2.XMLHTTP.8.0', 'MSXML2.XMLHTTP.7.0', 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP.2.6', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
6 try
7 {
8 req = new XMLHttpRequest();
9 }
10 catch (e)
11 {
12 for(var i = 0; i < msxml_progid.length; ++i)
13 {
14 try
15 {
16 req = new ActiveXObject(msxml_progid[i]);
17 break;
18 }
19 catch (e){}
20 }
21 }
22 return req;
23 }
24
上面是创建 XMLHTTPREQUEST 的一段 脚本, 逻辑是创建客户端IE的高版本的XMLHTTP,但是,在实际使用中发现,某些个别用户的页面显示,中文全是乱码『ENCODING相关的都是GB2312了』,为了这个调了N久无果。
最后,突然想起这些电脑使用另一个早期的ASP开发的 无刷新 联动程序很正常,于是忽然想到了XMLHTTP的版本问题,将上面的代码改为:
1 //创建 XMLHTTPREQUEST 的实例
2 this.__createRequestEntity = function()
3 {
4 var req;
5 var msxml_progid = ['MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
6 try
7 {
8 req = new XMLHttpRequest();
9 }
10 catch (e)
11 {
12 for(var i = 0; i < msxml_progid.length; ++i)
13 {
14 try
15 {
16 req = new ActiveXObject(msxml_progid[i]);
17 break;
18 }
19 catch (e){}
20 }
21 }
22 return req;
23 }
24
2 this.__createRequestEntity = function()
3 {
4 var req;
5 var msxml_progid = ['MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
6 try
7 {
8 req = new XMLHttpRequest();
9 }
10 catch (e)
11 {
12 for(var i = 0; i < msxml_progid.length; ++i)
13 {
14 try
15 {
16 req = new ActiveXObject(msxml_progid[i]);
17 break;
18 }
19 catch (e){}
20 }
21 }
22 return req;
23 }
24
测试结果,一切OK, 所有PC测试通过。
唉, 不明白 microsoft 怎么搞的, 还是我自己脑子有问题啊!
作者: 三角猫
http://www.zu14.cn/
转载请保留此信息