前言:第一次学习使用 ajax 就是用来读取文本
先给出现乱码的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax</title><script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url,cfunc)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
}
function myfunction()
{
loadXMLDoc("res/123.txt",function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("ajaxid").innerHTML=xmlhttp.responseText;
}});
}
</script></head>
<style>
#ajaxid
{
margin:20;
background-color:#999999;
font-size:25px;
}
</style>
<body><a href="javascript:void(0);" onclick="myfunction();">加载内容</a>
<div id="ajaxid"><h2>my</h2></div>
</body>
</html>
1、解决方法第一步,设置读取txt要显示的编码方式,要改的代码如下:
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send();
}
2、之后,需要更改需要读取的txt文本的编码方式,新建的文本文件默认为ANSI编码,更改为Unicode或者UTF-8。(注意,笔者这里使用的是IE11,如果你使用的是非IE浏览器,本文只具有借鉴作用)