AJAX 전송이 안되요~! 어디가 틀린건지 알고싶어요!
본문
안녕하세요..ajax 란 기술을 저도 이제 써보고싶다는 생각에. 욕심내어 인터넷 둘러보면서
답변 주시면 오늘 밤 행복한일이 ^^ㅎㅎ
한번 테스트를 해봣는데요..
결과는 실패입니다.. 당연한거죠 ㅎㅎ
그래서, 어디가 틀린건지.. 선배님들한테 조언좀 듣고자, 틀린부분 알려주시고,
바른길로 인도해주셧으면합니다!
우선 현재, 테스트한 소스 내용은 이렇습니다.
input 체크 박스가 있고, 이 체크박스를 선택하면, 체크 된값 1 또는 아닌값 0을 바로 다이렉트로 서버에
올려주고싶은데요.
소스는 이렇습니다.
----------리스트-------php--
<tr>
중간생략
<td>
<input type="hidden" name="ch_no[<?php echo $i ?>]" value="<?php echo $row['ch_no'] ?>">
<td class="ch_stat"> //////아이디값
<input type="checkbox" name="ch_stat[<?php echo $i ?>]" value="1" class="ch_stat" id="ch_stat_<?php echo $i ?>" <?php echo $row['ch_stat']==1?'checked':''; ?>> ///////// 변경할 값
</td>
중간생략
-----------스크립트---
$("input.ch_stat").click(function(){
var chk = $(this).attr('checked')?true:false;
var ch_stat = 0; // 실제 변경할 변수 값
var ch_no = $(this).parent().parent().find("input[name=ch_no]").val(); // 아이디 값
if(chk==true){
ch_stat=1; // 실제 변경할 변수 값
}
else { ch_stat = 0;} // 실제 변경할 변수 값
$.ajax({
type : 'POST',
url : '/adm/channel_list_ajax_update.php',
data : {
"ch_no":ch_no, // 실제 변경할 변수 값의 아이디
"ch_stat":ch_stat // 실제 변경할 변수 값
},
cache: false,
async: false,
success: function(data) {
alert('성공');
},error:function(){
alert('fail');
}
});
});
channel_list_ajax_update.php
$sql = " update channel
set
ch_stat = '{$_POST['ch_stat']}'
where ch_no = '{$_POST['ch_no']}' ";
sql_query($sql);
위와 , 아래와 같은...소스인데요.. 흠 ....일단 작동시 db 변동은 없구요.
그냥 ajax succes alert 성공만 무의미 하게 계속 뜨네요..
"ch_no":ch_no, // 실제 변경할 변수 값의 아이디
"ch_stat":ch_stat // 실제 변경할 변수 값
alert를 ch_no 의 값만
ch_stat 의 값이 정상적으로 alert 되는것은 확인했는데요..
이 값이,
sql update 저 변수 안에 들어가질 않는건가요?
무언가 하나를 더 해줘야하는건가요!?
답변 1
우선은 success:
function
(data) {
이거 다음 줄에 alert(data); 찍어 보세요.
그리고 channel_list_ajax_update.php 이 파일이 어떤 건지는 모르겠지만 sql_query라는 함수를 실행할 수 있게 include는 다 되어 있는 건가요?
디비 접속이랑 이런 부분두요.
가장 먼저 alert(data)를 찍어 보시고 그 다음엔 channel_list_ajax_update.php 페이지에서 echo $sql을 하신 후 이걸 또 alert으로 찍어 보세요.
그럼 에러가 어떤 건지 대충 나와요.
답변을 작성하시기 전에 로그인 해주세요.