1

Visual Studio 2013을 사용하여 "Store APP for Windows 8.1"을 만들고 TFS 서버가 온라인/오프라인 상태인지 확인해야합니다. https://tfs.xxx-xxx.de:8090/xxx/xxx/xxx (내 서버가 아니지만 URL과 내가 셰어 포인트와 함께 일부 테이블을 만들고 테스트 할 수있는 능력이있다)TFS/Sharepoint에서 Ping 요청이 필요합니다.

나는 HTML/자바 스크립트를 사용하며 사용자는 서버에 연결할 수 있는지 확인해야한다. 내가 필요한 것은 Javscript 나 다른 어떤 것으로 핑 (ping)하는 것입니다 (아약스?). 또한 ping의 길이와 헤더 정보에 대한 정보를 원합니다. 테스트 용 버튼을 몇 개 만들었으므로 나중에 삭제하겠습니다.

HTML

<body> 
     <div class="main"> 
      <button id="button_server_ok"> Green</button> 
      <button id="button_server_slow"> Yellow</button> 
      <button id="button_server_offline"> Red</button> 
      <button id="button_ping"> Ping </button> 
     </div> 
     <div id="response">Response</div> 
     <div class="status_bar"> 
      <h3>Server State</h3> 
       <hr /> 
       <svg width="50" height="50"> 
        <circle id="server_ok" cx="25" cy="25" r="20" stroke="green" stroke-width="2" fill="#FFFFFF" /> 
       </svg> 
       <svg width="50" height="50"> 
        <circle id="server_slow" cx="25" cy="25" r="20" stroke="yellow" stroke-width="2" fill="#FFFFFF" /> 
       </svg> 
       <svg width="50" height="50"> 
        <circle id="server_offline" cx="25" cy="25" r="20" stroke="red" stroke-width="2" fill="#FFFFFF" /> 
       </svg> 
     </div> 
    </body> 

자바 스크립트

(function() { 
    "use strict"; 

    var app = WinJS.Application; 
    var activation = Windows.ApplicationModel.Activation; 

    app.onactivated = function (args) 
    { 
     if (args.detail.kind === activation.ActivationKind.launch) 
     { 
      if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) 
      { 
       // TODO: Diese Anwendung wurde neu gestartet. Die Anwendung 
       // hier initialisieren. 
      } else { 
       // TODO: Diese Anwendung war angehalten und wurde reaktiviert. 
       // Anwendungszustand hier wiederherstellen. 
      } 



      args.setPromise(WinJS.UI.processAll().then(function completed() 
      { 

       var ok = document.getElementById("button_server_ok"); 
       ok.addEventListener("click", server_ok, false); 

       var slow = document.getElementById("button_server_slow"); 
       slow.addEventListener("click", server_slow, false); 

       var off = document.getElementById("button_server_offline"); 
       off.addEventListener("click", server_offline, false); 

       var ping= document.getElementById("button_ping"); 
       ping.addEventListener("click", ping, false); 

      })); 
     } 
    }; 



    app.oncheckpoint = function (args) 
    { 
     // TODO: Diese Anwendung wird gleich angehalten. Jeden Zustand, 
     // der über Anhaltevorgänge hinweg beibehalten muss, hier speichern. Dazu kann das 
     // WinJS.Application.sessionState-Objekt verwendet werden, das automatisch 
     // über ein Anhalten hinweg gespeichert und wiederhergestellt wird. Wenn ein asynchroner 
     // Vorgang vor dem Anhalten der Anwendung abgeschlossen werden muss, 
     // args.setPromise() aufrufen. 
    }; 


    function server_ok(eventinfo) 
    { 
     document.getElementById("response").innerHTML = "GREEN"; 
     document.getElementById("server_ok").setAttribute("fill", "#00FF00"); 

     document.getElementById("server_slow").setAttribute("fill", "#FFFFFF"); 
     document.getElementById("server_offline").setAttribute("fill", "#FFFFFF"); 
    } 

    function server_slow(eventinfo) 
    { 
     document.getElementById("response").innerHTML = "YELLOW"; 
     document.getElementById("server_slow").setAttribute("fill", "#FFFF00"); 

     document.getElementById("server_ok").setAttribute("fill", "#FFFFFF"); 
     document.getElementById("server_offline").setAttribute("fill", "#FFFFFF"); 
    } 

    function server_offline(eventinfo) 
    { 
     document.getElementById("response").innerHTML = "RED"; 
     document.getElementById("server_offline").setAttribute("fill", "#FF0000"); 

     document.getElementById("server_ok").setAttribute("fill", "#FFFFFF"); 
     document.getElementById("server_langsam").setAttribute("fill", "#FFFFFF") 
    } 

    function ping(eventinfo) 
    { 

    } 

    app.start(); 

})(); 

답변

0

이 서버는 당신이 시도 할 수 아약스 요청을 수행하려고 할 수있는 CORS 헤더가없는 경우 오류 대체 URL을 사용하여 보이지 않는 이미지를 서버에서로드하고 ur를 확인하십시오. l의 이미지. 나는 왕복 시간을

0

감사를 얻을 수있는 방법을 모르는 것, CORS 내가 로그인 할 수 있습니다 작업입니다

var req = new XMLHttpRequest(); 

// Feature detection for CORS 
if ('withCredentials' in req) { 
    req.open('GET', 'https://tfs.xxx.de/sites/xxx/xxx/xxx.aspx', true); 
    // Just like regular ol' XHR 
    req.onreadystatechange = function() { 
     if (req.readyState === 4) { 
      if (req.status >= 200 && req.status < 400) { 
       document.getElementById("response").innerHTML = "Working"; 
      } else { 
       document.getElementById("response").innerHTML = "Not Working"; 
      } 
     } 
    }; 
    req.send(); 
} 
관련 문제