关于xmlhttp.responseText的问题
<script type="text/javascript">
var xmlhttp;
function AJAX(url){
xmlhttp=null;
if (window.XMLHttpRequest){// code for all new browsers
xmlhttp=new XMLHttpRequest();
}else if (window.ActiveXObject){// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null){
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}else{
alert("你的浏览器不支持XMLHTTP对象。");
}
}
function state_Change(){
if (xmlhttp.readyState==4){// 4 = "异步请求成功"
if (xmlhttp.status==200){// 200 = OK
var o = document.getElementById("left");
var str = xmlhttp.responseText;
//o.innerHTML = str;
alert(str);
o.src = str;
}else{
alert("服务器出错,异步请求失败!");
}
}
}
</script>
</head>
<body>
<a href="javascript:void(0);" onClick="AJAX('redraw.php?id=a');">我是A链接</a>
<a href="javascript:void(0);" onClick="AJAX('redraw.php?id=dsa');">我是B链接</a>
<iframe src="" id="left" name="left" width="520" height="750" frameborder="0" scrolling="yes" style="position: absolute; top: 40px;left: 1px;"></iframe>
redraw.php
$id = $_GET["id"];
switch($id){
case "a":
echo "aaa";
break;
case "dsa":
echo "bbb";
break;
default:
"搞砸了!";
}
为什么 alert(str); 会把整个html的代码输出