안녕하세요
얼마전에 코드이그나이터 입문해서 사용하고 있는데요.
이전에 사용했던 방식으로 코드를 작성했는데
ajax 결과 값이 success로 안 넘어가고 fail로 계속 응답됩니다.
현재 구현한 코드를 보여드리자면 아래와 같습니다.
뭐가 문제인지 잘 모르겠네요
login.php에서 Crosslist.php의 login() 함수를 호출 했는데
여기서 echo "ttttt"; 이렇게 문자가 들어가면 ajax 결과값이 에러로 떨어집니다.
대신 숫자가 들어가면 성공 팝업이 뜹니다.
의외로 간단할거 같은데 이제 막 시작해서 어떤게 문제인지 못 찾겠네요.
혹시 저와 같은 현상을 겪으신 분 도움 부탁드립니다.
views > login.php
|
$(document).ready(function() { /* 로그인 */ $("#btnLogin").click(function() { var identifier = $("#identifier").val(); var password = $("#password").val(); $.ajax({ type:'POST', url:'/Crosslist/login', dataType:'json', data:null }) .done(function(response) { alert("Success"); }) .fail(function(errorThrown) { alert("Error"); }); }); }); |
controller > Crosslist.php
|
class Crosslist extends CI_Controller { public function login() { echo "dsfd111"; } } |
정말 감사합니다 ㅠㅠ 이거 때문에 며칠을 삽질했는지 모르겠어요.
말씀하신대로 하니 바로 되네요.
정말 감사합니다~
dataType:'json',
리턴 타입을 json 으로 받았는데 리턴을 텍스트로 출력하고 있네요.
타입을 html 으로 바꾸신 다음에 어떤 에러인지 확인 하시는 것도 중요합니다.
alert(response); 리턴 값을 확인해 보세요.
크롬이나 파이어폭스의 경우에는 ajax 리턴된 헤더메세지와 에러메세지등이 네트워크 탭에 나타납니다.
확인해 보세요
참고로 json 리턴 하고 싶으시면 json_encode(array('code'=>'ok' ));
이런식으로 테스트 하셔도 좋습니다.