2013-03-08 193 views
1

我的控制器使用我的JQuery Ajax方法有一些問題。似乎它找不到控制器,我似乎無法擺脫index.php。Ajax訪問codeigniter控制器

它在我的MAMP本地主機上正常工作,但是當我上傳項目直到webhost,apache 2.2.16(debian)。我的ajax無法訪問控制器。

我不斷收到此錯誤:

<title>404 Not Found</title> 
</head><body> 
<h1>Not Found</h1> 
<p>The requested URL /home/stud/xxxxx/public_html/revy/index.php/$ was not found on this 
    server. </p 

阿賈克斯,可以從位於笨應用程序文件夾以外的文件訪問和負載。

這是錯誤消息我得到的,

我的代碼如下所示:

PHP:

public function loggInn_Ajax(){ 
    $response = ''; 
    if($this->input->post('ajax')){ 
     $this -> form_validation -> set_rules('brukernavn', 'Brukernavn', 
    'trim|required'); 
     $this -> form_validation -> set_rules('passord', 'Passord', 'required'); 

     if($this->form_validation->run()){ 

      $brukernavn = $this->input->post('brukernavn'); 
      $passord = $this->input->post('passord'); 
      $aktiveringskode = $this->input->post('aktiveringskode'); 

      if($aktiveringskode != ''){ 
       $aktivering = $this->bitauth->activate($aktiveringskode); 

       if($aktiveringskode == FALSE){ 
        $response = 'Feil aktiveringskode, om du har tastet 
        riktigkode.Ta kontakt med systemansvarlig.'; 
       } 
      } 

      $remember_me = ''; 

      $res = $this->bitauth->login($brukernavn, $passord, $remember_me); 

      if($res === 'inaktiv'){ 
       $response = 'inaktiv'; 
      } else if($res == TRUE){ 
       $response = 'ok'; 
      }else{ 
       $response = $this->bitauth->get_error(); 
      } 

     }else{ 
      $response = validation_errors(); 
     } 
    } 
     echo $response; 
    } 

AJAX:

function loggInn() { 

brukernavn = $('#brukernavn').val(); 
passord = $('#passord').val(); 
husk_meg = $('#husk_meg').val(); 
aktiveringskode = $('#aktiveringskode').val(); 

sendLoggInnnData(); 
return false; 

} 

    function sendLoggInnnData(){ 

var logginn = { 
    'brukernavn': brukernavn, 
    'passord': passord, 
    'husk_meg': husk_meg, 
    'aktiveringskode': aktiveringskode, 
    'ajax': 1 
}; 

$.ajax({ 
    url : 'MetodeKontroller/loggInn_Ajax', 
    type: 'POST', 
    data: logginn, 
    success:function(response) { 
     if(response == 'inaktiv'){ 
      $('#aktiveringsfelt').html("<input name='aktiveringskode' 
     id='aktiveringskode' class='input-block-level' type='text' value='' required='required' 
     placeholder='Aktiveringskode' autofocus='autofocus' onblur='validerInput(this)'  
     maxlength='6' min='6'>"); 

      $('#aktiveringskode').focus(); 
     }else if(response == 'ok'){ 
      window.location.href = "SideKontroller"; 
     }else{ 
      $('#alerts').html(alert_error+response+'</div>'); 
     } 
    } 

}); 
    } 

回答

0
$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/ProjectFolderName'; 

試試這個

<?php 
var url = '<?php echo base_url();?>'; 
?> 

和AJAX使用這樣的:

$.ajax({ 
    type:'POST', 
    url:url+"MetodeKontroller/loggInn_Ajax",