使用我的控制器的JQuery Ajax方法时遇到一些问题。似乎它找不到控制器,我似乎无法摆脱index.php。
它在我的MAMP localhost上工作正常,但是当我上传项目直到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
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;
}
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 :(得分: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",