function check_sap()
{
var xmlhttp
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
var URL
URL="check_sap.asp?scode="+sapCode;
xmlHttp.open("GET",URL,true);
xmlHttp.send(null);
alert(xmlhttp.readyState);
if(xmlhttp.readyState==4){ 
if(xmlhttp.status==200){ 
var check_num=xmlhttp.responseText; 
alert(check_num); 


//alert(check_num);
return false;
}
红色部分应该是弹出0或者1、2、3、4啊,但我的什么都没有,这么回事

解决方案 »

  1.   

    xmlHttp.open("GET",URL,true); 
    xmlHttp.send(null); 
    alert(xmlhttp.readyState); 
    if(xmlhttp.readyState==4){ 
    if(xmlhttp.status==200){ 
    var check_num=xmlhttp.responseText; 
    alert(check_num); 


    你要放在回调函数里面呀!!!!!!!!!
    改成
    xmlHttp.open("GET",URL,true); 
    xmlHttp.send(null); 
    xmlHttp.onreadystatechange=function(){
    alert(xmlhttp.readyState); 
    if(xmlhttp.readyState==4){ 
    if(xmlhttp.status==200){ 
    var check_num=xmlhttp.responseText; 
    alert(check_num); 


    }
      

  2.   

    我根据你的修改,alert(check_num); 没有弹出,也没有return false;直接到下个页面了
      

  3.   

    但是你那样写肯定不对呀。AJAX肯定要在回调函数里接收服务器的返回文本的
      

  4.   

    var xmlhttp
    if(window.ActiveXObject){
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest();
    }
    var URL
    URL="check_sap.asp?scode="+sapCode;
    xmlhttp.open("GET",URL,true);
    xmlhttp.send(null);
    xmlhttp.onstatereadychange=function(){ 
    if(xmlHttp.readyState==4){ 
    if(xmlHttp.status==200){ 
    var check_num=xmlhttp.responseText; 
    alert(check_num); 
    if(check_num=="1")
    {
    alert("SAP Code had been existed!");
    return false;
    }



    //alert(check_num);
    return false;
    这是现在的代码,我都快搞疯了
      

  5.   

    你整个的xmlHttp有的是xmlhttp有的是xmlHttp....改好了再说,慢慢来。。别着急其他的流程基本是对的了
      

  6.   

    有 var sapCode = document.getElementById("sap_code").value;
    前面不用看,就出在if(xmlHttp.readyState==4){ 
    if(xmlHttp.status==200){ 
    var check_num=xmlhttp.responseText; 
    alert(check_num); 
    if(check_num=="1") 

    alert("SAP Code had been existed!"); 
    return false; 



    这部分没有弹出来,我搞了一天了,初学ajax,有点郁闷
      

  7.   

    function check_sap()
    {
    //alert(document.getElementById("sap_code").value);
    var sapCode = document.getElementById("sap_code").value;
    var check_num
    var re = /^\d{8}$/;
    if(!re.test(sapCode)){
    alert("SAP Code必须为8位数字!");
    return false;
    }
    if(re.test(sapCode))
    {
    var xmlhttp
    if(window.ActiveXObject){
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
    }
    var URL
    URL="check_sap.asp?scode="+sapCode;
    xmlhttp.open("GET",URL,true);
    xmlhttp.send(null);
    xmlhttp.onstatereadychange=function(){ 
    if(xmlhttp.readyState==4){ 
    if(xmlhttp.status==200){ 
    var check_num=xmlhttp.responseText; 
    alert(check_num); 
    if(check_num=="1")
    {
    alert("SAP Code had been existed!");
    return false;
    }



    //alert(check_num);
    return false;
    }
    return false;
    }
      

  8.   

    点sumbit执行onclick="return check_sap()"
      

  9.   

    onstatereadychange?这个名字错了?应该是onreadystatechange?
    试试先
      

  10.   

    我在if(xmlHttp.readyState==4){ 
    后面加了alert("ggg");也没有弹出来
      

  11.   

    没理解?
    是直接输入http://xxx.com/check_sap.asp?scode=12345678吗?
      

  12.   

    如果能显示,在if(xmlHttp.readyState==4){ 
    之前加入 alert(xmlhttp.readyState),如果程序运行到这里正常应该会又1、2、3、4的提示
    如果没有。就在前面的程序找错误,如果有就在
    if(xmlhttp.status==200){ 之前加入alert(xml.status)测试一下服务器返回的状态吗。。
    如果是500代表ASP程序错误,如果是200则代表没错就继续测试下面的
      

  13.   

    我把alert("ccc");放在xmlHttp.onreadystatechange=function(){ 
    之前可以显示,放在之后不能显示,那就应该说明是这里出错了啊?
      

  14.   

    没有执行回调函数??这个很奇怪哦
    xmlHttp.onreadystatechange=function(){ 是这样?
    还是xmlhttp.onreadystatechange=function(){ ?
      

  15.   

    你的意思是大小写的原因了,这里没错了,我原来用的都小写xmlhttp,现在都改成xmlHttp,不是大小写的问题
      

  16.   

    我测试了很多次,是xmlHttp.onreadystatechange这里没有执行
      

  17.   

    哎哟类~~~我也急了~~~你装上FIREFOX,然后装上FIREBUG来调试一下吧~~我没你的源程序还真不知道怎么查找错误
      

  18.   

    我在公司,都要用正版软件,安装软件都需要help-desk安装,我们装不了。而且还要申请,老板批了才能装,很麻烦的,要不我自己再看看吧,谢谢了
      

  19.   

    我今天早上弄好了,freedom214,谢谢了