时间:2016-02-17 21:54 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【用js来解决ajax读取页面乱码】,下面是详细的讲解!
用js来解决ajax读取页面乱码
var http_request=false;
function makePOSTRequest(url, parameters) {
http_request=false;
if (window.XMLHttpRequest) {
http_request=new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) {
try {
http_request=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request=new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange=alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//http_request.setRequestHeader("Content-Type","application/text/html; charset:utf-8");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
if(!Sys.ie){
http_request.overrideMimeType("text/html;charset=gb2312");
}
http_request.send(parameters);
}
function alertContents() {
if (http_request.readyState==4) {
if (http_request.status==200) {
if(Sys.ie){
result=http_request.responseBody;
}
else
{
result=http_request.responseText;
}
//newresult=result.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"$2;")});
//newreslt=unescape(result.replace(//g,'%u').replace(/;/g,'')); //utf-8和汉字互转,不需要了
document.getElementById('waiting').innerHTML='';
if(Sys.ie){
document.getElementById('showresults').innerHTML=gb2utf8(result); }
else{
document.getElementById('showresults').innerHTML=result;
}
} else {
alert('There was a problem with the request.');
}
}else{
document.getElementById('waiting').innerHTML='<img src="http://www.jb51.net/article/loading.gif">';}
}
function get(obj) {
//var poststr="accounts=" + encodeURI( document.getElementById("accounts").value );
makePOSTRequest('y.htm', '');
}
//ie引入一个杂交函数,nndx
function gb2utf8(data){
var glbEncode=[];
gb2utf8_data=data;
execScript("gb2utf8_data=MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char=eval("0x"+k);
execScript("gb2utf8_char=Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data=gb2utf8_char=null;
return unescape(t.join("%"));
}
var Sys={};
var ua=navigator.userAgent.toLowerCase();
if (window.ActiveXObject)
Sys.ie=ua.match(/msie ([\d.]+)/)[1]
else if (document.getBoxObjectFor)
Sys.firefox=ua.match(/firefox\/([\d.]+)/)[1]
else if (window.MessageEvent && !document.getBoxObjectFor)
Sys.chrome=ua.match(/chrome\/([\d.]+)/)[1]
else if (window.opera)
Sys.opera=ua.match(/opera.([\d.]+)/)[1]
else if (window.openDatabase)
Sys.safari=ua.match(/version\/([\d.]+)/)[1];
关于用js来解决ajax读取页面乱码的用户互动如下:
相关问题:ajax从txt读取文件显示到页面乱码,这样显示ᦙ...
答:这个你需要修改你的TXT的文本格式了,编码的格式了 >>详细
相关问题:我也碰到了JS用AJAX来POST时,中文是乱码,请问怎...
答:encodeUri >>详细
相关问题:js ajax 调用外部网页内容乱码
答:asp页面的session编码设置utf-8或者GB2312 >>详细
- 【firefox】firefox浏览器不支持innerText的解决
- 【Extjs】Extjs学习过程中新手容易碰到的低级错误
- 【clearInterval】js clearInterval()方法的定义
- 【ComboBox】ComboBox 和 DateField 在IE下消失的
- 【ajax】用js来解决ajax读取页面乱码-页面乱码
- 【dom】javascript dom追加内容实现示例-追加内容
- 【has】基于jquery的has()方法以及与find()方法以
- 【extjs】Extjs入门之动态加载树代码-动态加载树
- 【checkbox】让checkbox不选中即将选中的checkbox
- 【angularjs_scope】AngularJS中监视Scope变量以
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
