Autor Zpráva
Danqo
Profil
Zdravim mam taky problem, mam skript ktory ma volat SOAP server cez Put a potom data vypisovat cez GET avsak nechce mi brat readyState teda neprebehne skript tak ako ma

<script language="JavaScript">
  m_Interval;

  function CallPutCallBack() { 
    if (httpRequest.readyState == 4)
      httpRequest.status == 200 ? "":alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
    else
    {     
      alert("podmienka");    
    }  
  }
  
  function CallGetCallBack() {     
    if (httpRequest.readyState == 4)
    {
      if(httpRequest.status == 200)
      {
        AddElement("GetCallBack: " + httpRequest.responseText);        
      }
      else
        alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
    }
    else
    {
      alert("podmienka");    
    }  
  }

  function CallGet() {  
      AddElement("CallGet: start");  
   
      window.ActiveXObject ? httpRequest = new ActiveXObject("Microsoft.XMLHTTP"):httpRequest = new XMLHttpRequest();        
      httpRequest.open("GET", "soap_get.php", true);
      
      httpRequest.onreadystatechange = CallGetCallBack();       
      httpRequest.send(null);
      
      AddElement("CallGet: stop");
  }
  
  function CallPut() {
        AddElement("CallPut: start");
        
        window.ActiveXObject ? httpRequest = new ActiveXObject("Microsoft.XMLHTTP"):httpRequest = new XMLHttpRequest();
        httpRequest.open("GET", "soap_put.php", true);
                                                                        
        httpRequest.onreadystatechange = CallPutCallBack();                               
        httpRequest.send(null);
              
        AddElement("CallPut: end");
  }
                               
  function Interval_func() {
    AddElement("timer");    
  }             
  
  function AddElement(text) {
    var d=new Date();
      var t=d.toLocaleTimeString();     
    document.getElementById("show_content").innerHTML = document.getElementById("show_content").innerHTML + "<br>" + "("+t+") " + text;
   }
  
  function Start_interval() {
    m_Interval = setInterval("Interval_func()",1000);
  }
  
  function Stop_interval() {
    clearInterval(m_Interval);  
  }
  
</script>

  <input type="button" value="Put" name="put" onClick="CallPut();">
  <input type="button" value="Get" name="get" onClick="CallGet();">
  <input type="button" value="Start" name="start" onClick="Start_interval();">
  <input type="button" value="Stop" name="stop" onClick="Stop_interval();">
  <div id="show_content">
  </div>
v tomto pripade teda vypisuje alert("podmienka");

velka vdaka za pomoc


PS zmenil som podmienku nech vypise readystate a hodilo mi to 1

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
radvis
Profil
Možná je to off topic, ale nemáš nikde nadefinovaný "httpRequest"
Chamurappi
Profil
Reaguji na Danqa:
Přiřazuješ do httpRequest.onreadystatechange výsledky funkcí CallGetCallBack a CallPutCallBack (tj. undefined), voláš je tedy ihned při přiřazování a v té době je readyState vždy 1.

httpRequest.status == 200 ? "":alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
Kde ses naučil takhle nešikovně používat ternární operátor? Máš něco proti ifu?
A co takový var, toho se také štítíš? Brrr…

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0