ajax 질문 (왕 초보 질문)
본문
a.html
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function() {
$("#search").on("click", function(e) {
e.preventDefault();
$.ajax({
url : "test.php",
type : "post",
data : {
tbl : "g5_write_notice",
wrid : 1
},
success : function(res) {
if(res) {
$("#result").text(res);
}
}
});
});
});
</script>
<a href="#" id="search">자유 게시판 1번 게시물 제목 갖고 오기</a>
<span id="result"></span>
<script>
var timer = setInterval(function()(<?=$search();?>);
}, 1)
test.php
<?php
include_once "./_common.php";
$table = $_POST['tbl'];
$wrid = $_POST['wrid'];
$result = sql_fetch("SELECT `wr_subject` FROM ".$table." WHERE `wr_id` = ".$wrid);
echo $result['wr_subject']; ?>
부끄럽지만 질문 올려 봅니다. 부끄러움은 잠깐이지만 배움은 평생 간다는 마음 가짐으로 ..
Q&A 게시판에서 다음과 같은 예제를 구했습니다 아작스를 공부하고 있는데요.
ftp 최상위 루트에 넣었고 이상 없이 잘 작동합니다.
저는 그런데 <a href="#" id="search">자유 게시판 1번 게시물 제목 갖고 오기</a> 이 부분의
텍스트 클릭 없이 a.html를 띄우자 마자 ajax가 게시판 1번 게시물을 가져오게 하고 싶습니다
어찌 하면 될까요 ?
!-->!-->답변 2
$(function() {
$.ajax({
url : "test.php",
type : "post",
data : {
tbl : "g5_write_notice",
wrid : 1
},
success : function(res) {
if(res) {
$("#result").text(res);
}
}
});
});
다 걷어내고 이것만 쓰시면 됩니다.
근데 페이지 로딩되자마자 쓰실 거면 굳이 ajax를 사용 안 하셔도 되지 않을까 싶네요.
이전 질문과 비슷한듯 다르네요?
정확한 요구조건은 모르겠지만
"게시물을 새로고침 또는 해당 내용만 주기적으로 가져온다" 는 내용은 AJAX 가 맞습니다
하지만 고쳐야될 해당 element 를 특정해야 하고 AJAX 호출은 비동기 이므로 주기적으로 실행될수 없습니다.
AJAX 를 호출해서 해당 element 를 갱신한뒤에 다시 일정시간 - 몇초 - 후에 다시 AJAX 를 호출하는
일종의 재귀 개념으로 가야 되는데
그 흐름이 머리속에 그려지지 않은 상태에서 setTimeout 이나 setInterval 을 쓰게되면 잘못될 소지가 아주 많은 코드가 됩니다.
귀찮으시더라도 AJAX 로 가져올 데이타만 있는 html 페이지를 만드셔서 충분히 테스트 후에 반영하셔야 할 듯합니다.