CI 묻고 답하기

제목 jquery 를 통한 중복체크
글쓴이 영등포 작성시각 2011/11/11 20:37:26
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 32896   RSS

jquery+ci 적용중인데요
몇시간동안 계속 삽질중인데
다른곳도 찾아보고 햇는데..ㅠㅠ
전혀감이안와서 여다 다시 도움좀부탁들비니다..b
json으로 중복데이터 체크하려고하는데요
전혀 안돼서 ㅠㅠ
controller에선 아무것도 안나오고 view에서는
클릭하면 암것도 액션이안일어나고 작성한 userid필드의 아이디는 사라지고..ㅠㅠ
몇시간동안..넘해매고잇어여..ㅠㅠ
<td  height="36" bgcolor="white" > 
<input type="text"  name="userid" size="19" value="{= set_value('userid')}" >{= form_error('userid')}
<input type="image" src="/imag/juungbok.jpg" onClick="rg_userid()">
</td>
<script type="text/javascript" src="/[removed]js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/[removed]js/jquery.js"></script
<script type="text/javascript" src="[removed]/js/jquery.validate.js"></script>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
jQuery('#rg_userid').click(function() {
 var f_data = "userid=" + $("#userid").val();
      $.ajax({
        type: "POST",
        url: "/ciLogin/id_check",
        dataType: "json",
        data: f_data,

        error: function(data) {
       alert(data.userid);

        },
 success:function(data){
       alert(data.userid);
  }
      });
  });

});

controller
 function id_check(){
$userid = $_POST['userid'];
$data = array("userid"=>$userid);
   echo json_encode($data);
exit;

 }

 다음글 session_start() 를 하니 이미 시작되었다고... (5)
 이전글 음 도메인 두개를 세팅해야하는데 문제가 생겼네요 ㅠㅠ (2)

댓글

변종원(웅파) / 2011/11/11 20:54:22 / 추천 0
jQuery('#rg_userid').click   -> 이것이 무얼 의미하는지 부터 다시 보셔야 할 것 같습니다.

위에 것이 해결되면 ajax는 작동할거구요.

파이어폭스에 파이어버그를 설치하고 맨 뒤탭인 Net을 보면 ajax로 돌아오는 데이터를
확인할 수 있습니다. 에러가 나면 에러가 찍히고 정상일 경우 반환값을 확인할 수 있습니다.


씨아이세상 / 2011/11/13 00:41:55 / 추천 0


답변감사드립니다.
말씀하신대로
jQuery('#rg_userid').click   -> 이것이 무얼 의미하는지 부터 다시 보셔야 할 것 같습니다.
다시확인해봣고요.. 
       alert(data.userid); 에서 undefined가 찍혀요..ㅠㅠ
아님 ㅋcontroller 에서
$userid = $_POST['userid'];
$data = array("userid"=>$userid);
   echo json_encode($data);
찍혀야하지안나요?
파이어버그 설치해서 확인햇는데
87478값이 나오긴하는데여..ㅠㅠ

Source
    -----------------------------98942870323811 Content-Disposition: form-data; name="userid"
87478

$(".addBtn").click(function(){
 var f_data = "userid=" + $("#userid").val();
      $.ajax({
        type: "post",
       url: "/ciLogin/id_check",
        dataType: "json",
        data: f_data,

        error: function(data) {
       alert(data.userid);

        },

 success:function(data){
       alert(data.userid);
  }
      });
  });

     <td  height="36" bgcolor="white" > 
     <input type="text"  name="userid" size="19" value="{= set_value('id')}" >{= form_error('id')}
<button class="addBtn">중복체크</button></td>

 

변종원(웅파) / 2011/11/13 01:22:36 / 추천 0
f_data 의 형식도 보세요. 포스트인데 userid=id 형태로 넘어갑니다. 그리고 구문상 실패해서 찍히는건지 성공해서 찍히는건지 알수없습니다.
ssukai / 2011/11/15 10:35:51 / 추천 0
$(".addBtn").click(function(){  //addBtn 이 클릭되었을때 동작
 var f_data = "userid=" + $("#userid").val();
      $.ajax({
        type: "post",
        url: "/ciLogin/id_check", 
        dataType: "json",
        data: f_data,
        
        success:function(data){
          alert(data.userid);
        },
        error: function(data) { 
          alert(data.userid);
        }
       }); 
  });
저도 CI에서 Jquery 사용할때 f_data 형식 처럼 post 로 넘겼어도 CI에서 잘 받았습니다.
f_data형식을 그럼 serialize() 로 보낸는것도 한번 해보세요..