var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();}
}function myajax(url){ S_xmlhttprequest();
xmlHttp.open("GET","for.php?id="+url,true);
xmlHttp.onreadystatechange=byphp();
xmlHttp.send(null);
}function byphp(){ var byphp1=xmlHttp.responseText; document.getElementById("php").innerHTML="test";
}前面的两个函数都是对的。最后一个函数有问题。我把var byphp1=xmlHttp.responseText这句注释后最后前台可以显示test,但是加上var byphp1=xmlHttp.responseText后,就显示网页有错误。
for.php的内容是
<?
if($id=$_GET['id']){
for($i=1;$i<10;$i++){
echo $id;
}
exit();
}
?>

解决方案 »

  1.   

    你代码写错了?记得结贴!发了十几分钟找到错误!给你写个完整的,你的for.php页不变<script language="javascript">
    var xmlHttp;
    function S_xmlhttprequest(){
    if(window.ActiveXObject){
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
    else if(window.XMLHttpRequest){
    xmlHttp=new XMLHttpRequest();}
    }function myajax(url){S_xmlhttprequest();
    xmlHttp.open("GET","for.php?id="+url,true);
    xmlHttp.onreadystatechange=byphp;//这里不要加byphp()
    xmlHttp.send(null);
    }function byphp(){
    var byphp1= xmlHttp.responseText;
    document.getElementById("php").innerHTML=byphp1;
    }</script>
    <DIV id="php">测试用的</DIV>
    <DIV onclick="myajax('www.163.com')">点击触发</DIV>
    <!--怀疑你这里也调用错了,你该不会去调用byphp了吧-->
    最后记得结贴,结贴是美德!
      

  2.   

    还有ajax建议用jquery写,很简单,很方便!
    还有你的for.php的代码也是怪里怪气的!
    if($id=$_GET['id']),这个判断有意思吗?=是赋值,不是比较
      

  3.   

    装火狐浏览器+firebug,可调试js哪里有错误。