2011-02-16 4 views
0

3 초마다 jquery.load 및 ajax를 사용하여 MVC보기를 새로 고침하고 싶습니다. 이 구문은 무엇이 될까요? 아래 코드를 사용했지만 작동하지 않았습니다.자동 새로 고침 MVC보기

$(document).ready(function() { 
    setInterval(function() { 
     var url = '<%= Url.Action("Index", "LiveGame") %>'; 
     $.getJSON(url, null, function() { }); 
    } 
        , 3000); 
}); 
+1

어떻게 작동하지 않습니까? 당신은 무엇을 기대 했습니까/그 결과는 무엇입니까? – GvS

답변

2

당신은 load 또는 get의 jQuery 방법을 사용해야합니다. getJSON 결과가 JSON 형식으로 표시되고 뷰에서 HTML을 반환합니다. 이 같은

귀하의 코드가보고 될 수 뭔가 : 물론 그것은 아무것도 새로 고침하지 않습니다

$(document).ready(function() { 
    setInterval(function() { 
     var url = '<%= Url.Action("Index", "LiveGame") %>'; 
     $('body').load(url); 
    }, 3000); 
}); 
+0

전혀 새로 고침을하지 못했습니다. 위의 코드를 변경하는 방법을 알려주시겠습니까? – asif

+0

안녕하세요 @gor : 귀하의 코드를 사용하고 그것이 효과. 당신의 도움을 많이 주셔서 고마워요 – asif

+0

@asif 그래서, 바로 대답을 틱 무료 주시기 바랍니다;) – gor

1

-이 결국 아약스 호출입니다. 또한 ajax 메서드에 의해 반환 된 값을 취하고 뷰에 동적으로 배치하는 코드를 구현해야합니다. ...

또는 @gor이 제안하는 것 - 아약스 btw가 아닙니다.

편집은의 당신의 JSON 데이터가 name 필드를 반환한다고 가정하자 및 ID = txtName하여보기에서 입력 텍스트 필드는이 있음. 그래서 그것을 할 수있는 (아약스) 방법입니다 :

$(document).ready(function() { 
    setInterval(function() { 
      var url = '<%= Url.Action("Index", "LiveGame") %>'; 
      $.getJSON(
       url, 
       null, 
       function(data) { 
        $('#txtName').val(data.name); 
       } 
      ); 
     }, 
     3000 
    ); 
}); 

당신이 상쾌하지 않는 것을 알세요 "보기"- 당신은 개별적으로 각각의 해당 HTML 요소에 JSON 값을 반환 상쾌하고 있습니다. 웹 서버에서 완전히 새로운 페이지를로드하지 않고 DOM 조작을 사용하여 값을 동적으로 변경할 수 있습니다. ...

또한 서버 측 메소드도 올바른 JSON을 리턴해야 함을 의미합니다. 목적.

이것은 너무 많은 작업처럼 들릴지도 모릅니다. 비동기식 아약스 호출을 처리하고 JSON 객체를 직렬 처리하지 않고 페이지를 새로 고침하고 싶다면 @gor에서 수행 할 작업을 수행하십시오. 3 초마다 전체 HTML 페이지 ...

+0

안녕하세요 @rsenna : 나는 jquery와 아약스를 처음 사용하고 있습니다. 이 코드를 보내 주시겠습니까? – asif