테스트 사이트 - 개발 중인 베타 버전입니다

AJAX 전송이 안되요~! 어디가 틀린건지 알고싶어요! 채택완료

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

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
11년 전

우선은 success: function(data) { 이거 다음 줄에 alert(data); 찍어 보세요.

그리고 channel_list_ajax_update.php 이 파일이 어떤 건지는 모르겠지만 sql_query라는 함수를 실행할 수 있게 include는 다 되어 있는 건가요?

디비 접속이랑 이런 부분두요.

 

가장 먼저 alert(data)를 찍어 보시고 그 다음엔 channel_list_ajax_update.php 페이지에서 echo $sql을 하신 후 이걸 또 alert으로 찍어 보세요.

그럼 에러가 어떤 건지 대충 나와요. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

유우니얌
11년 전
안녕하세요!!!!!!! 답변감사드립니다!!

우선.. 말씀하신것처럼 alert data 값을 찎어보니, 빈 alert 창이 뜹니다..

channel_list_ajax_update.php 는 실제 쿼리문 ???보낼 파일 이라고해야될가요..........
상단에 common.php 파일을 넣어둿씁니다!









우와,............................마지막에... echo $sql .이..정말 많은 도움이 되엇어요.......해결되었습니다..

사랑합니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인