弱弱的问一个关于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" 是否正确,请你自己查资料吧