2011-12-12 4 views
0

실제로 페이지를 새로 고치지 않고 아약스를 사용하여 페이지의 내용을 다시로드하려고합니다. 그래서 ajax를 사용하면 페이지의 모든 내용이 실제로 페이지를 다시로드하지 않고 변경됩니다. 어떻게해야합니까?새로 고침없이 아약스를 사용하여 페이지의 내용을 새로 고침

div를 사용할 수 없습니다. 전체 페이지를 바꾸기 때문에 (따라서 w3c html 준수를 확인하고 싶기 때문에) div를 사용할 수 없습니다.

jquery와 ajax를 사용하여 어떻게하면됩니까?

+1

목표는 무엇입니까? 페이지를 다시로드하는 대신 Ajax를 사용하려는 이유는 무엇입니까? – Jim

+0

로그인 양식을 만들려고합니다. 사람들이 로그인하고 전체 페이지가 새로 고쳐지고 로그인 된 회원으로 인식됩니다. –

+1

전체 페이지를 새로 고치려면 아약스없이 리로드하지 않는 것이 어떻습니까? – kubetz

답변

3

AJAX는 전체 페이지를 업데이트하는 것이 리소스 효율적이지 않은 시나리오 (요청 후 페이지의 일부만 업데이트 될 예정인 경우)에 사용되었습니다. 예를 들어, 페이지 새로 고침은 이상적으로 들립니다. 어쨌든 모든 콘텐츠가 변경 될 것이기 때문입니다.

AJAX는 모든 상황에서 가장 좋은 대답이 아니라 당신이

jQuery를 사용하여 ... AJAX와 문제를 해결하는 단호 경우 :

$.post('/login', {login: 'username', password: 'password'}, function(response) { $('body').html(response); }, 'text'); 

참고, 이것은 단지 몸을 갱신 - 따라서 응답에 html, head, body 등이 포함되지 않아야합니다.

더 나은 해결책은 AJAX 업데이트로 주소가 지정된 페이지 부분에 섹션을 할당하는 것입니다. 그런 다음 AJAX 응답자는 이러한 섹션의 ID를 키로 포함하는 연관 배열과 그 내용을 값으로 반환 할 수 있습니다. 간단한 루프는 위에 제공된 스 니펫을 거의 수정하지 않고 페이지의 모든 부분 (또는 모든 부분)을 업데이트 할 수 있습니다.

관련 문제