뷰페이지 비동기로 호출하기 채택완료

그누보드 QA - 게시판 뷰페이지와 리스트페이지 동시에 (sir.kr)

에서 도움을 받아 

board.php -> board2.php 로 이동

왼쪽엔                                                             오른쪽

list.php                                                           view.php

 

형식으로 나오고 있습니다.

제가 하고싶은건 list.php에서 게시글을 클릭하면 뷰페이지만 불러와서 화면 깜빡임 없이

게시글이 변경되도록 하고 싶습니다.

 

현재는 board2.php 에

Copy
<div id ="rist" style='float:left;width:30%;overflow-y: scroll;height : 700px;'>

 

<?php

 

include_once (G5_BBS_PATH.'/list2.php');

 

if(!$wr_id) $wr_id= $list[0][wr_id];

 

?>

 

</div>


 

<div id = "biew" style='float:right;width:70%;padding: 0px 10px 0px 10px;overflow-y: scroll; height :700px;'></div>

<script>

$(function(){

    $.ajax({

            url: '<?php echo $board_skin_url?>/list2.skin.php'

            ,type:"post"

            ,dataType:'php'

            ,data : {<?php echo $wr_id?>}

            ,error:function(error){

                alert("ERROR!"+error);

            } // error end

            ,success:function(view){

                $("#biew").append(<?php include_once(G5_BBS_PATH.'/view.php')?>)

            } // success end

 

        });

        });

</script>


 

<?php include_once(G5_PATH.'/tail.sub.php');?>

로 ajax로 해보려고 했는데 도저히 안 되어 문의 드립니다..

답변 5개

채택된 답변
+20 포인트

이렇게 까지 알려들릴 수는 없지만 오랜만에 소스를 다시 봤네요...

아래 처럼 하면 될것 같습니다.

 

Copy
$(function()
{ 
    $.ajax({ 
        url : '<?php echo BBS_URL?>/view.php',
        type : "post",
        dataType : "html",
        data : {
            bo_table : '게시판명',
            wr_id : <?php echo $wr_id?>
        },
        error : function(error) { 
            alert("ERROR!"+error); 
        }, // error end
        success : function(view) { 
            // 먼저 alert(view.responseText); 값이 어떤게 나오는지 확인해보세요
            $("#biew").html($(view.responseText)) 
        } // success end 
    }); 
});
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다 이때까진 반응이 없었는데 이젠 alert(error) 라도 뜨네요 ㅠ

현재 ajax가 list.php 에서 $wr_id와 bo_table 값을 받아서
view.php에서 그걸 가지고 오는 부분인 거네요
alert(view.responseText); 확인한 결과
계속해서 undefined만 발생하고 있습니다
biew 부분에는 표시되지 않더라구요

댓글을 작성하려면 로그인이 필요합니다.

예시..
list2.php에서 onClick="rt_view('<?=$row[wr_id]?>')" 이런식으로 함수 호출을 넣어주고

Copy
<script>
function rt_view(set_wr_id){
    $.ajax({
        url: '<?php echo $board_skin_url?>/view.php'
        ,type:"get"
        ,dataType:'html'
        ,data : {wr_id = set_wr_id}
        ,error:function(error){
            alert("ERROR!"+error);
        } // error end
        ,success:function(view){
            $("#biew").load(view)
        } // success end
 
    });
}
</script>

이런식으로 코드를 구현해 보시는게 어떠실까요...

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아직 ajax 자체의 흐름을 자세히 알지 못하지만 도와주신 코드로 조금 더 공부 해 보겠습니다..

댓글을 작성하려면 로그인이 필요합니다.

더 자세한 내용이 궁금하시면 여기 방문하세요

같이 얘기나누며 문제해결에 도움이 되도록 하세요

 

https://open.kakao.com/o/gzNuQjhe

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
success:function(view){ 

    $("#biew").html(view.responseText) 

} // success end

 

통신 결과값이 view.responseText 에 저장되어 있습니다

view.responseText 이 값들이 html 이라면

 

$("#biew").html($(view.responseText))

 

이렇게 감싸주면 될것 같네요

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

댓글 감사합니다 말씀하신대로 입력해 보았는데 아무것도 나오지 않고 있습니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

$("#divId").load()를 사용하는건 어떠실까요?

 

https://m.blog.naver.com/x2658/221951605169

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다 한번 확인해서 정독해 보겠습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고