Функция PHP Ajax не работает в машине Win 2003 - PullRequest
0 голосов
/ 15 июня 2011

Я написал функцию ajax в javascript (для php). На WIN-XP работает нормально, но на Win-2003 не работает.

Для события onclick я вызываю функцию fun_LeaveLength_JS_G. Внутри этого я устанавливаю xmlhttp2.onreadystatechange = function (). Это не выполняется.

Моя функция выглядит следующим образом:

function fun_LeaveLength_JS_G(dG1,dG2)
{
    err2=true;

    G_EmpIdFromJS=document.frmLeaveApp.txtG_EmpId.value;
    G_PL_CountJS=document.frmLeaveApp.txt_PLCount.value;

    PLAvailabe_JS= document.frmLeaveApp.PL_available.value;

    CLAvailabe_JS=document.frmLeaveApp.CL_available.value;

    LWPAvailabe_JS=document.frmLeaveApp.LWP_available.value;
    MLAvailabe_JS=document.frmLeaveApp.ML_available.value;

    COMPAvailabe_JS=document.frmLeaveApp.COMP_available.value;

    FromHomeAvailabe_JS=document.frmLeaveApp.txt4mHome_available.value;

    LeaveType_JS=document.frmLeaveApp.sltLeaveType.value;

    alert(PLAvailabe_JS+" "+ CLAvailabe_JS +" "+ LWPAvailabe_JS +" "+ MLAvailabe_JS +" "+ COMPAvailabe_JS +" "+ FromHomeAvailabe_JS + " "+ LeaveType_JS);
    if (dG1=="" || dG2=="")
    {
      return;
    }
    FromDate_G= dG1;
    ToDate_G=dG2;

    var d = new Date();

    //if(str=="")
    {   
        if (window.XMLHttpRequest)
        {
          xmlhttp2=new XMLHttpRequest();
        }
        else
        {
          xmlhttp2=new ActiveXObject("Microsoft.XMLHTTP");
        }           
        xmlhttp2.onreadystatechange=function()
        {                           
            alert("Before response from the AJAX");
          if (xmlhttp2.readyState==4 && xmlhttp2.status==200)
            {                
               document.frmLeaveApp.txtLeaveLeangth.value=xmlhttp2.responseText;    

               alert("in ajax fileError 2 is "+err2);
                alert("Ajax result is : "+xmlhttp2.responseText);
                //LeaveLength_JS=xmlhttp2.responseText();
                if(xmlhttp2.responseText==1)
                {       
                    err2=true;
                    alert("when ajax result is 1 error 2 is "+err2);

                    LeaveLength_JS=xmlhttp2.responseText();                     
                }                   
                if(xmlhttp2.responseText==0)
                {
                    err2=false;// allow to apply leave
                    alert("when ajax result is 0 error 2 is "+err2);
                }
                else
                {
                    err2=true;
                    alert("when ajax result is other then error 2 is "+err2);

                    Alert("This is developer error. Please Inform to System admin");
                }                                       
            }
        }           
        xmlhttp2.open("GET","http://localhost/MyProject/LeaveLength_Ajax.php?_Get_FromDate="+FromDate_G+"&_Get_ToDate="+ToDate_G+"&PLAvailabe_JS="+PLAvailabe_JS +"&CLAvailabe_JS="+CLAvailabe_JS +"&LWPAvailabe_JS="+LWPAvailabe_JS+"&MLAvailabe_JS="+MLAvailabe_JS+"&COMPAvailabe_JS="+COMPAvailabe_JS+"&FromHomeAvailabe_JS="+FromHomeAvailabe_JS +"&LeaveType_JS="+LeaveType_JS,true);          
        xmlhttp2.send();
    }       
    alert("At the end Error 2 is "+err2);
}

Где это пошло не так? Нужно ли включать или устанавливать какое-либо вспомогательное программное обеспечение?

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Не думаю, что проблема здесь связана с операционной системой. Когда вы пробуете это на Win2003, вы на самом деле на этой машине во время тестирования? Потому что вы пытаетесь выполнить запрос localhost, что означает, что вы запрашиваете локальный компьютер, а не сетевой адрес.

Попробуйте изменить эту строку:

xmlhttp2.open("GET","http://localhost/...")

Примерно так:

xmlhttp2.open("GET","http://<server name or IP>/...")
0 голосов
/ 15 июня 2011

отлично работает здесь. вы используете IE6?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...