课程咨询 :027-87185216 QQ:2490085651 企业招聘:18971634708

武汉PHP培训 > 达内新闻 > php_xmlhttp乱码问题解决
  • php_xmlhttp乱码问题解决

    发布:第一PHP社区      来源:第一PHP社区      时间:2016-07-21

  • 近来测试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);
    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......";
    }
    }

    推荐文章

上一篇:PHP数组学习排序全接触

下一篇:php单一入口应用程序概述

最新开班日期  |  更多

PHP高级开发工程师定制班

PHP高级开发工程师定制班

开班日期:5/31

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:5/31

PHP高级开发工程师精品班

PHP高级开发工程师精品班

开班日期:5/31

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:5/31

  • 地址:武汉市洪山区洪山亚贸广场B座12楼
  • 课程培训电话:027-87185216 QQ:2490085651 企业招聘:18971634708     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56