日期:2014-05-16  浏览次数:20390 次

AJAX的问题 请帮忙!!!!
我编了如下代码:

<script>
  var myXhr=new XMLHttpRequest();
 
if( window.XMLHttpRequest )
{ alert('ok1'); myXhr=new XMLHttpRequest(); }
else if(window.ActiveXObject)
{ myXhr=new ActiveXObject("Microsoft.XMLHTTP");alert('ok2')}
  else { alert("AJAX错误"); }
 
myXhr.open('get','data1.html',false);
myXhr.send(null);
document.getElementById('b').innerHTML=myXhr.responseText;
 
</script> 程序可以正确运行

但是我在最后一个else里面添加了一句 return false;即:

<script>
  var myXhr=new XMLHttpRequest();
 
if( window.XMLHttpRequest )
{ alert('ok1'); myXhr=new XMLHttpRequest(); }
else if(window.ActiveXObject)
{ myXhr=new ActiveXObject("Microsoft.XMLHTTP");alert('ok2')}
  else { alert("AJAX错误"); return false; }
 
myXhr.open('get','data1.html',false);
myXhr.send(null);
document.getElementById('b').innerHTML=myXhr.responseText;
 
</script>

程序就不能正确运行 理论上应该不会进入最后一个else语句啊 请问一下高手 这是怎么回事?

------解决方案--------------------
你确定 错误是 因为 加了 "return false"
------解决方案--------------------
var myXhr=null;
if( window.XMLHttpRequest )
{ amyXhr=new XMLHttpRequest(); }
else if(window.ActiveXObject)
{ myXhr=new ActiveXObject("Microsoft.XMLHTTP");}
alert(myxhr);
你换上这段试试 ,如果还有问题,就肯定是后面代码的问题了

------解决方案--------------------
函数中才能return false,明显的语法错误

JScript code
      function callajax() {
          var myXhr = new XMLHttpRequest();

          if (window.XMLHttpRequest)
          { alert('ok1'); myXhr = new XMLHttpRequest(); }
          else if (window.ActiveXObject)
          { myXhr = new ActiveXObject("Microsoft.XMLHTTP"); alert('ok2') }
          else { alert("AJAX错误"); return false; }

          myXhr.open('get', 'data1.html', false);
          myXhr.send(null);
          document.getElementById('b').innerHTML = myXhr.responseText;
      }
      callajax()