2017-04-22 4 views
0

데이터베이스에서 C#으로 데이터를 가져와 Ajax를 사용하여 Javascript로 전달합니다. 이 데이터를 배열에 저장합니다. 데이터베이스에 3 초마다 쿼리합니다. 이 데이터를 사용하여 트랙의 색상을 변경하는 것과 같이 다이어그램을 업데이트합니다. 시뮬레이션은 30 초가 지나면 작동합니다. 그런 다음 UI (브라우저)가 멈추고 업데이트되지 않습니다. 멈추지 않고 시뮬레이션을 실행하는 방법을 알려주시겠습니까?UI가 업데이트되지 않습니다

코드 :

function getData() { 
      $(document).ready(function() { 
       var q = setInterval(getData, 3000); 
       jQuery.ajax({ 
        type: "POST", 
        url: "WebForm1.aspx/GetStations", //It calls our web method 
        contentType: "application/json; charset=utf-8", 
        data: JSON.stringify({ myArray: dl_id_track }), 
        dataType: "json", 
        async: true, 
        success: function (data) { 
         if (data != null) { 
          var len = data.d.length;       
          for (var i = 0; i < len; i++) { 
           signo[i] = data.d[i].signo; 
           status[i] = data.d[i].status; 
          } 

        } 
        simulate(); 
       }, 
       error: function (d) { 
       } 
      }); 

});

} 



function simulate() { 

      for (var i = 0; i < b.length; i++) { 
       for (var j = 0; j < 1024; j++) { 
        //track 
        if (signo[j] == sig_no_track[i]) { 
         if (status[j] == "1") { 
          var x1 = parseInt(left_track[i]) + parseInt(x1_track[i]); 
          var y1 = parseInt(top_track[i]) + parseInt(y1_track[i]); 
          var x2 = parseInt(left_track[i]) + parseInt(x2_track[i]); 
          var y2 = parseInt(top_track[i]) + parseInt(y2_track[i]); 
          var line1 = draw.line([[x1, y1], [x2, y2]]).stroke({ width: 3, color: '#ff0000' }); 



       } 
+0

코드의 관련 부분을 표시 할 수 있습니까? –

+0

코드를 추가했습니다. getData 함수는 C#에서 DB로부터 데이터를 가져옵니다. 시뮬레이트 기능은 트랙의 색상을 변경합니다. – padma

답변

0

난 단지 웹 개발에 손 대고, 내가 전문가는 아니지만, 다른 아무도 응답하지 않았다 나는 반 AN-생각을 가지고 있기 때문에 ...

그것은 나에게 보인다 (전문가가 아님) 반복되는 것처럼 무한 루프가 생성되지만 setInterval로 인해 속도가 느려질 수도 있습니다.

$(document).ready(function() { 
    var q = setInterval(getData, 3000); 
}); 

첫 번째 함수에서와 <script> 블록의 끝 : 당신이 이동하는 경우 작동하는지 내가 볼 의향이 될 것입니다. 이를 테스트하려면 getData 함수 자체에서 해당 });을 잃어야합니다.

+0

감사합니다. 지금은 붙어 있지 않습니다. – padma

관련 문제