首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

一个关于ajax的初学者有关问题

2013-07-16 
弱弱的问一个关于ajax的菜鸟问题本帖最后由 lqj127 于 2013-07-07 21:23:33 编辑是一本书上的,但是自己敲

弱弱的问一个关于ajax的菜鸟问题
本帖最后由 lqj127 于 2013-07-07 21:23:33 编辑 是一本书上的,但是自己敲出来之后实现不了。这个程序是单击页面上的按钮然后页面弹出一个窗口,并更改按钮上的值。
14.7.php:

<?xml version="1.0" encoding="GB2312" ?>
<!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-equic="Content-Type" content="text/html;charset=GB2312" />
<title>Insert title here</title>
<script type="text/javascript">
var xmlhttp_request=false;
try{
  if(window.ActiveXObject){
      for(var i=5;i;i--){
           try{
                if(i==2){
                      xmlhttp_request=new ActiveXObject("Micsoft.XMLHTTP");
                         }else{
                               xmlhttp_request=new ActiveXObject("Mscml2.XMLHTTP."+i+".0");
                               xmlhttp_request.setRequestHeader("Content-Type","text/html");
                               xmlhttp_request.setRequestHeader("Charset","gb2312");
                              }
                             break;
                         }catch(e){
                             xmlhttp_request=false;
                           }


                     }
      }else if(window.XMLHTTPRequest){
            xmlhttp_request=new XMLHTTPRequest();
            if(xmlhttp_request.overrideMimeType){
                  xmlhttp_request.overrideMimeType("text/xml");
                 }
        }
}catch(e){
   xmlhttp_request=false;
}
function hello(btn){
   var url="14.6.php";
   xmlhttp_request.onreadystatechange=function(){
    if(xmlhttp_request.readyState==4 && xmlhttp_request.status==200){
     btn.value=xmlhttp_request.responseText;
    alert(xmlhttp_request.responseText);
    }
}


xmlhttp_request.open("POST",url,true);
xmlhttp_request.send(null);
}
</script>
</head>
<body>
<input type="button" value="第一个ajax程序" name="submit" onclick="hello(this);"/>
</body>
</html>

14.6.php:

<?php 
echo "hello ajax!";
?>

14.7.php中如果有第一行的话会出现如下的错误提示:
"Parse error: syntax error, unexpected T_STRING in E:\PHPWEBFILE\ajax1.php on line 1"
如果把第一行删掉的话,在chrome中点击按钮又没反应,在ie中打开点击按钮左下角会出现 “网页上有错误”,显示错误详细信息是 第44行对象不支持此属性或方法。不知道哪里错了,请高手给看看。

[解决办法]
1、<?xml version="1.0" encoding="GB2312" ?> 出现 Parse error: syntax error, unexpected T_STRING 错误的原因是:你开启了 php 短标记功能,无法解析 xml 这个短语
2、IE 出错的原因是你把 Microsoft.XMLHTTP 误写作 Micsoft.XMLHTTP
3、chrome 出错的原因是你把 XMLHttpRequest 误写作 XMLHTTPRequest

其实高版本的 IE 已经有了 XMLHttpRequest,所以应先检查 XMLHttpRequest
至于 "Mscml2.XMLHTTP."+i+".0" 是否正确,请你自己查资料吧

热点排行