欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php_xmlhttp乱码问题解决

程序员文章站 2022-04-16 11:20:42
...
转载请注明来源:php_xmlhttp乱码问题解决

近来测试php_xmlhttp乱码问题,无他,仅是不想用那些乱七八糟的框架耳,或者高兴了,组织一组也不一定。

resin在新版本中竟开始支持php了,偶感觉比较好玩,也是懒得在自己机器上再配置一组apache_php_mysql之流,毕竟以java为主做事情的嘛。于是将自己的一个php站点直接放resin里面做开发了,总体感觉还不错,基本功能没发现问题,但在继续优化过程中,想到了xmlhttp,便随手写了几个文件试一下,无刷新效果嘛,可是竟然遇到了中文乱码,于是五一一天就折腾这个了,也在中间从网站看了一些当前地球上的一些争争吵吵的事情,中美对弈,欧则看盘,一会儿顺着这边说,一会顺着那边扯,也有些意思,只是想,中国的80末以后的这些人会长成什么样子,靠吃6、70年代人赚下的本活着,还以享乐为荣,关键是还沾沾自喜,这类人不是传说中的垃圾么?懒得说了,还是看乱码吧

文件有三个,一个是htm,一个是php,一个是js,js用在htm中,php为服务端。

a.htm

<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" src="a.js" charset="utf-8"></script>
</head>
<body>
<span id="show"></span>
<form name="aForm">
<input type="text" name="name"><br>
<input type="button" name="btn" value="ok" onclick="aa()">
</form>
<script language="javascript">
<!--
function aa(){
var o = new Ajax();
o.url = "a.php";
o.parseParameters(document.all.aForm);
o.post();
}
-->
</script>
</body>
</html>

a.js

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);elseAjaxObj.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......";}
    }

以上就是php_xmlhttp乱码问题解决 的内容,更多相关内容请关注PHP中文网(www.php.cn)!