前言:第一次學習使用 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瀏覽器,本文只具有借鑒作用)