뷰페이지 비동기로 호출하기 채택완료
https://sir.kr/qa/99947">그누보드 QA - 게시판 뷰페이지와 리스트페이지 동시에 (sir.kr)
에서 도움을 받아
board.php -> board2.php 로 이동
왼쪽엔 오른쪽
list.php view.php
형식으로 나오고 있습니다.
제가 하고싶은건 list.php에서 게시글을 클릭하면 뷰페이지만 불러와서 화면 깜빡임 없이
게시글이 변경되도록 하고 싶습니다.
현재는 board2.php 에
</p>
<p><div id ="rist" style='float:left;width:30%;overflow-y: scroll;height : 700px;'></p>
<p> </p>
<p><?php</p>
<p> </p>
<p>include_once (G5_BBS_PATH.'/list2.php');</p>
<p> </p>
<p>if(!$wr_id) $wr_id= $list[0][wr_id];</p>
<p> </p>
<p>?></p>
<p> </p>
<p></div></p>
<p>
</p>
<p><div id = "biew" style='float:right;width:70%;padding: 0px 10px 0px 10px;overflow-y: scroll; height :700px;'></div></p>
<p><script></p>
<p>$(function(){</p>
<p> $.ajax({</p>
<p> url: '<?php echo $board_skin_url?>/list2.skin.php'</p>
<p> ,type:"post"</p>
<p> ,dataType:'php'</p>
<p> ,data : {<?php echo $wr_id?>}</p>
<p> ,error:function(error){</p>
<p> alert("ERROR!"+error);</p>
<p> } // error end</p>
<p> ,success:function(view){</p>
<p> $("#biew").append(<?php include_once(G5_BBS_PATH.'/view.php')?>)</p>
<p> } // success end</p>
<p> </p>
<p> });</p>
<p> });</p>
<p></script></p>
<p>
</p>
<p><?php include_once(G5_PATH.'/tail.sub.php');?></p>
<p>
로 ajax로 해보려고 했는데 도저히 안 되어 문의 드립니다..
답변 5개
이렇게 까지 알려들릴 수는 없지만 오랜만에 소스를 다시 봤네요...
아래 처럼 하면 될것 같습니다.
</p>
<p>$(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
});
}); </p>
<p>
답변에 대한 댓글 2개
계속해서 undefined만 발생하고 있습니다
biew 부분에는 표시되지 않더라구요
댓글을 작성하려면 로그인이 필요합니다.
예시..
list2.php에서 onClick="rt_view('<?=$row[wr_id]?>')" 이런식으로 함수 호출을 넣어주고
</p>
<p><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></p>
<p>
이런식으로 코드를 구현해 보시는게 어떠실까요...
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
더 자세한 내용이 궁금하시면 여기 방문하세요
같이 얘기나누며 문제해결에 도움이 되도록 하세요
https://open.kakao.com/o/gzNuQjhe" rel="nofollow noreferrer noopener" target="_blank">https://open.kakao.com/o/gzNuQjhe
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><code>success:function(view){ </code></p>
<p><code> $("#biew").html(view.responseText) </code></p>
<p><code>} // success end</code></p>
<p>
통신 결과값이 view.responseText 에 저장되어 있습니다
view.responseText 이 값들이 html 이라면
$("#biew").html($(view.responseText))
이렇게 감싸주면 될것 같네요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
현재 ajax가 list.php 에서 $wr_id와 bo_table 값을 받아서
view.php에서 그걸 가지고 오는 부분인 거네요