로그인/로그 아웃 방법이 홈 컨트롤러에 있습니다. 다른 컨트롤러에서 생성 된 모든 페이지에는 사용자 이름과 암호 텍스트 상자가 있습니다.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
은 당신이 뭔가를 발견하면 알려주세요 ...
코드를 제공 할 수 있습니까? – benastan
더 많은 개념적 질문이 있으므로 코드없이 질문하는 것이 좋습니다. 어떤 코드 부분을 갖고 싶습니까? – Sanjit
로그인/로그 아웃을위한 홈 컨트롤러 코드 인 firebug의 출력은 요청을 수행하기위한 자바 스크립트 코드입니다. 어쩌면 로그인 양식의 HTML조차도. – benastan