2013-10-15 4 views
-4

로그인/로그 아웃 방법이 홈 컨트롤러에 있습니다. 다른 컨트롤러에서 생성 된 모든 페이지에는 사용자 이름과 암호 텍스트 상자가 있습니다.codeigniter의 다른 컨트롤러에 대한 Ajax 요청이 작동하지 않습니다.

아약스를 사용하여 모든 페이지에서 홈 컨트롤러 로그인/로그 아웃 방법으로 사용자 이름과 비밀번호를 게시하는 모든 내보기에 공통된 jquery 파일이 있습니다. 그러나 이러한 페이지는 홈 컨트롤러가 아닌 다른 컨트롤러에서 생성되므로 제대로 작동하지 않는 것 같습니다. 방화 광을 확인하면 Ajax 스크립트에서 언급 한 URL이 해당 페이지의 컨트롤러에 추가되고 실제로 리디렉션되지 않습니다.

나는 일반적으로 이러한 시나리오에서 자체 제작 도우미를 사용하는 것이 좋습니다. 하지만 어떻게 jquery 아약스를 통해 사용할 수 있는지 모르겠습니다. 나는 제품 컨트롤러를 통해 로그인 할 때

집 컨트롤러가

   function validate_login_user() 
      { 
        $this->load->model('model'); 

        if ($this->sristi_model->validate_login()) 
        { 
         $data = array (
          'username' => $this->input->post('username'), 
          'is_logged_in' => true 
         ); 
         $this->session->set_userdata($data); 
         $this->load->view('includes/logged_in.php'); 
         //return true; 
        }else{ 
         $this->load->view('includes/loginerror.php'); 
         //return true; 
        } 
      } 

자바 스크립트

$('#sitelogin').on('click', '.login', function(){ 
     var username = $('#username').val(); 
     var password = $('#password').val(); 
     if (username == "" || password == ""){ 
      $('#error').fadeIn(200).delay(1000).fadeOut(1000); 
      return false; 
     }else if(username !== undefined && password !== undefined) 
     { 
      $.ajax({ 
       url:"home/validate_login_user", 
       type:'POST', 
       data:{username:username,password:password}, 
       cache:false, 
       success:function(msg){ 
        $('#sitelogin').html(msg).hide().fadeIn(800); 
        $('#loginerror').delay(2000).fadeOut(1000); 
       } 
      }); 
      return false; 
     }else{ 
      return false; 
     } 
    }); 

내가 방화범

이를 얻는
URL: POST validate_login_user 
localhost/ci/product/categories/localhost/ci/home/validate_login_user 

Status: 500 Internal Server Error 

Domain: localhost 

Size: 1.6 KB 

Remote IP: [::1]:80 

은 당신이 뭔가를 발견하면 알려주세요 ...

+1

코드를 제공 할 수 있습니까? – benastan

+0

더 많은 개념적 질문이 있으므로 코드없이 질문하는 것이 좋습니다. 어떤 코드 부분을 갖고 싶습니까? – Sanjit

+0

로그인/로그 아웃을위한 홈 컨트롤러 코드 인 firebug의 출력은 요청을 수행하기위한 자바 스크립트 코드입니다. 어쩌면 로그인 양식의 HTML조차도. – benastan

답변

0

어떻게 든 내 답변에서이 답변을 볼 수 있었지만이 페이지에는 표시되지 않습니다. 슬래시로 ajax url을 선행하면 작업이 완료되었으며 이제는 모든 것이 잘 작동합니다.

누구든지 댓글을 찍어 주셔서 감사합니다.

관련 문제