문제

제목할 수 없는 혼란,그래서 그것을 설명해 보고자 한다.

내가 있는 웹사이트 측면 패널에 대한 정보가 포함되어 있으며 사용자,사용자 할 수 있습니다,등등.사용자가 로그인하지 않았에서,이쪽 패널이 지역에 로그인 또는 등록이다.

코드 이:

<?php
if($user->loggedIn)
{
?>
<!-- side-panel for logged in users here -->
<?php
}
else
{
?>
<!-- login/registration etc -->
<?php
}
?>

내가 무엇을 하고 싶은 이 코드 조각을 다시 클릭하면 로그인 AJAX 를 사용하고,jQuery 효과를(아마도 페이드)을 매끄럽게 만든 측면판의 전환에서 로그인/등록 빛나는 사용자만이 패널이 있습니다.

내가 이것을 할 수 있는 경우에는 코드는 다른 파일에,로드 그것은 AJAX 를 통해로 div 측면에 대한 패널의...그러나 나는 오히려하지 않는 별도의 파일에 대한 측면 패널에만 있습니다.이것이 가능한가요?

도움이 되었습니까?

해결책

AJAX 요청으로 페이지를로드 한 다음 측면 패널 이외의 데이터를 제거 할 수 있지만 요점은 무엇입니까? 가장 좋은 옵션은 측면 패널을 자체 파일로 간단히 분리하는 것입니다.

아, 그리고 그것은 또한 올바른 방법으로 간주 될 것이므로, 당신은 그것이 일어나는 페이지를 편집하지 않고 사이드 바를 편집 할 수 있습니다.

다른 팁

내가 당신이 무엇을 깔끔하게 이해한다면, 당신은 이런 식으로 시도 할 수 있습니다.

$.ajax({
    type: "GET",
    url: "url", // replace 'url' with your url
    cache: false,
    success: function(data){
        alert($(data).find('#sidebar').html());
    }
});

아마도 $ .load () 또는 $ .get (), dunno와 함께 작동 할 수 있습니다.

왜 당신은 반대하지 측면 패널에서 자신의 파일입니까?이들이 더 많은 모듈과 구성됩니다.

만약 당신이 정말로 반대하는 콘텐츠를 유지에서 파일을 넣을 수 있는 콘텐츠에 데이터베이스 쿼리를 위해 그 어느 때 AJAX 다.

쿼리 문자열 매개 변수를 페이지에 전달한 다음 페이지의 부분 렌더 (사이드 바에만 해당) 만 수행 할 수 있습니까? 그런 다음 일반적인 jQuery/ajax 메소드를 사용하고 쿼리 문자열 매개 변수를 포함하십시오.

$.ajax(function(){
    url: MyPage.php?sidebar_only=true
    ect...
})

다른 통화를 통해 실제 사용자 데이터를 얻을 것이라고 가정하면 두 개의 div를 사용할 수 있습니다. 사용자 패널 용 HTML을 포함하는 DIV가 숨겨져 시작됩니다. 성공적인 로그인을 받으면 로그인 DIV를 숨기고 사용자 패널 DIV를 표시하십시오. Ajax 로그인의 데이터를 사용하여 패널 사용자 정의 정보를 작성하십시오. AJAX 로그인 호출은 사용자 이름과 수행 할 수있는 작업을 채우는 데 필요한 정보를 반환한다고 가정합니다. 이것은 단지 전체 사용자 패널의 HTML을 당길 필요가 없도록합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top