1

我在使用我的 JQuery Ajax 方法和我的控制器时遇到了一些问题。似乎它找不到控制器,我似乎无法摆脱 index.php。

它在我的 MAMP localhost 上运行良好,但是当我将项目上传到网络主机时,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

Ajax 可以访问和加载位于 codeigniter 应用程序文件夹之外的文件。

这是我收到的错误消息,

我的代码如下所示:

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;
    }

阿贾克斯:

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>');
        }
    }

});
    }
4

1 回答 1

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",
于 2013-03-08T13:11:06.263 回答