php_xmlhttp 乱码问题解决方法
前端之家收集整理的这篇文章主要介绍了
php_xmlhttp 乱码问题解决方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
resin在新版本中竟开始支持PHP了,偶感觉比较好玩,也是懒得在自己机器上再配置一组apache_PHP_MysqL之流,毕竟以java为主做事情的嘛。于是将自己的一个PHP站点直接放resin里面做开发了,总体感觉还不错,基本功能没发现问题,但在继续优化过程中,想到了xmlhttp,便随手写了几个文件试一下,无刷新效果嘛,可是竟然遇到了中文乱码,于是五一一天就折腾这个了,也在中间从网站看了一些当前地球上的一些争争吵吵的事情,中美对弈,欧则看盘,一会儿顺着这边说,一会顺着那边扯,也有些意思,只是想,中国的80末以后的这些人会长成什么样子,靠吃6、70年代人赚下的本活着,还以享乐为荣,关键是还沾沾自喜,这类人不是传说中的垃圾么?懒得说了,还是看乱码吧
文件有三个,一个是htm,一个是PHP,一个是js,js用在htm中,PHP为服务端。
a.htm
<div class="codetitle">
<a style="CURSOR: pointer" data="24612" class="copybut" id="copybut24612" onclick="doCopy('code24612')"> 代码如下: <div class="codebody" id="code24612">
<script language="javascript" src="a.js" charset="utf-8">
<span id="show">
<form name="aForm">
<input type="text" name="name">
<input type="button" name="btn" value="ok" onclick="aa()">
<script language="javascript">
a.js
<div class="codetitle">
<a style="CURSOR: pointer" data="16326" class="copybut" id="copybut16326" onclick="doCopy('code16326')"> 代码如下: <div class="codebody" id="code16326">
function getXMLHTTPRequest(){
var xmlHttp;
if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp = false;
}
}
}else{
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
xmlHttp = false;
}
}
if(!xmlHttp){
return false;
}else{
return xmlHttp;
}
}
function Ajax(){
this.url;
this.params = "";
this.parseParameters = function(thisform){
for(var i = 0; i < thisform.elements.length; i++){
var e = thisform.elements[i];
this.params += (e.name + "=" + e.value);
if(i != (thisform.elements.length - 1))
this.params += "&";
}
};
AjaxObj = getXMLHTTPRequest();
AjaxObj.onreadystatechange = processRequest;
this.post = function(){
AjaxObj.open("post",this.url,true);
AjaxObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
if(this.params.length > 0)
AjaxObj.send(this.params);
else
AjaxObj.send();
}
}
function processRequest(){
if(AjaxObj.readyState == 4){
if(AjaxObj.status == 200){
if(AjaxObj.responseText != ""){
document.getElementById("show").innerHTML = "";
document.getElementById("show").innerHTML = AjaxObj.responseText;
}
}else{
alert("Exception.");
}
}else{
document.getElementById("show").innerHTML="Loading......";
}
}