使用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![]()
//创建 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
try7
{8
req = new XMLHttpRequest();9
}10
catch (e)11
{12
for(var i = 0; i < msxml_progid.length; ++i)13
{14
try15
{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![]()
//创建 XMLHTTPREQUEST 的实例2
this.__createRequestEntity = function()3
{4
var req;5
var msxml_progid = ['MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];6
try7
{8
req = new XMLHttpRequest();9
}10
catch (e)11
{12
for(var i = 0; i < msxml_progid.length; ++i)13
{14
try15
{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/
转载请保留此信息


浙公网安备 33010602011771号