ajax로 서버 통신하였을때 질문 드립니다.
본문
ajax 로 서버단과 비동기식으로 통신하고 나서 리턴값을 보여지는 곳에 뿌려지는 것이야 잘 됩니다.
그러나 , 제가 요하는 것은
ajax 를 통해 서버와 비동기식으로 통신하고, ajax 처리 하는 단에서 생성된 폼으로 다른쪽으로 액션을 보내려고 하니 , 안되네요 ...
조언 부탁드립니다.
아래 소스 보시고 부족함에 조언 해주실 분 있다면 정말 감사하겠습니다 :)
서울에는 비가 옵니다. 모두 감기 조심하세요!
-----------------------------------------------------------------
1. 처음 ajax로 호출 하는 단
<script>
$(document).ready(function(){
var audio = document.getElementById('audio');
var str= '<?=$member[mb_id]?>';
var url="<?=G5_URL?>/ajax_alarm.php";
var param="mb_id="+encodeURIComponent(str);
var method="POST";
$.ajax({
type: method,
url:url,
dataType:"html",
data:param,
success:function (msg){
document.getElementById("test").innerHTML = msg;
}
});
});
</script>
--------------------------------------------------------------------------
2. ajax_alarm.php 코드
<?
include_once("./_common.php");
?>
<?
$mb_id = $_POST[mb_id] ;
$sql = " select * from g5_application where mb_id1='$mb_id' and ap_flag='N'";
$rowList = getList($sql);
?>
<style>
.msg_con > a {margin-top:20px;display:block;margin-bottom:20px;letter-spacing:-1px;font-size:13px;}
</style>
<form name="fmember" id="fmember" action="./ajax_alarm_update.php" enctype="multipart/form-data">
<?if(count($rowList)> 0){?>
<?foreach($rowList as $line){?>
<?
$sql1 = "select * from g5_write_31 where wr_id='{$line[wr_id2]}'";
$row1 = sql_fetch($sql1);
?>
<input type="text" name="ap_id[<?=$line[ap_id]?>]" value="<?=$line[ap_id]?>">
<div class="msg_f">
<div class="msg_con"><a href="#null" id="alarm_<?=$line[ap_id]?>" ><?=$row1[wr_name]?>님이 신청하셨습니다.</a></div>
</div>
<?}?>
<input type="submit" name="test">
<?}?>
</form>
답변 1
1. 스타일은 ajax 페이지에서 로딩하지마시구요.. 원래 페이지에서 쓰는게 맞습니다.
2.ajax 의 강점은 짧은시간동안에 data를 받아와서 페이지단에서 처리하는것입니다.
data만 json 형식으로 받아서 스크립트단에서 처리 하시는게 좋을것 같네요.