ajax 문의드립니다.
본문
아래와 같이 사용중에 있습니다. php 페이지에서 내용을 불러와서 보여지는것 까지는 아주 잘 되는것 같습니다. 30초 단위로 불러오게 한건데요? 저런 방식으로 하는게 맞는건지 궁금하구요
또하나
<a href> 또는 버튼을 이용해서 화면 바뀌지 않고 live_data.php 쪽으로 날짜를 보내려고 하는데요
어떻게 하면 될까요? 예를들어 2018-05-28 이라는 버튼을 누르면 live_data.php 화일로 2018-05-28 이라는 값을 보내서 처리후 다시 보여지게 하려고 합니다.
너무 어려우면 ㅜㅜ 힌트라도 좀 부탁드리겠습니다.
<div id="live_data"></div>
<script>
function mb_runAjax() {
$.ajax({
url: 'live_data.php',
dataType: 'html',
type: 'POST',
data: '',
success: function(data){
$('#live_data').html(data);
}
});
}
$(document).ready(function(){
setInterval(function(){
mb_runAjax();
}, 30000);
});
</script>
답변 2
테스트 해 보지 못해 제대로 작동되는지는 모르겠습니다만
먼저, javascript부분은 아래처럼
<script>
function mb_runAjax() {
$.ajax({
url: 'live_data.php',
dataType: 'html',
type: 'POST',
data: 'cdate='+cdate,
success: function(data){
$('#live_data').html(data);
}
});
}
function formatDate() {
var d = new Date(), month = '' + (d.getMonth() + 1), day = '' + d.getDate(), year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('-');
}
$(document).ready(function(){
var cdate = formatDate();
setInterval(function(){
mb_runAjax();
}, 30000);
});
</script>
그리고 데이터를 받는 live_data.php 쪽에서는
$_POST['cdate']; 로 받아 php를 처리하시면 되겠네요.
$('button').click(function(){
mb_runAjax();
});
이렇게 해보세요.