2016-03-01 5 views
1

Я пытаюсь получить данные из моей базы данных с помощью AJAX вызова, но он возвращает эту ошибку:AJAX возвращения 404 Not Found

enter image description here

Это мой AJAX вызова

$.ajax({ 
    url : '<?php echo base_url('Create_controller/getCategory'); ?>', 
    dataType : 'json', 
    success: function(data) { 
     $(data).each(function(){ 
      $('#create_category').append($('<option>', { 
       value: this.id, 
       text: this.category, 
      })); 
     }) 
    }, 
    error: function(errorw) { 
     alert("error"); 
    } 
}); 

Это мой Create_controller:

public function getCategory(){ 
    $categories = $this->create_model->getCategory(); 
    echo json_encode($categories); 
} 

Это мой Create_model:

function getCategory(){ 
    $this->db->select('id, category'); 
    $this->db->from('category'); 
    $this->db->where('status', 1); 
    $this->db->order_by('category', 'asc'); 
    $query = $this->db->get(); 
    return $query->result(); 
} 

Я знаю, что мой контроллер и модель работает, потому что я попытался с помощью print_r($this->create_model->getCategory()); перед загрузкой вида.

Я искал 3 часа, но ни одна из них не решает мою проблему.

Спасибо за помощь.

ответ

0

Причина этой проблемы заключается в том, что я забыл добавьте мой файл .htaccess.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
1

Просто проверьте, что вы публикуете данные в методе post или получите метод. Эта функция служит для вызова Ajax:

var request = $.ajax({ 
    url: "yourURl", 
    type: "POST", 
    dataType: "json" 
}); 
+0

Хорошо, сэр, но где я это поставлю? Извините, я довольно новичок в AJAX. Кстати, я отредактировал мой вопрос. Я забыл поставить свой вызов AJAX. Теперь он есть. –

+0

После datatype: json put type: post nd дайте мне знать –

+0

Я получаю сообщение «Uncaught SyntaxError: Неожиданный идентификатор» в строке, где я добавил «var request = $ .ajax ({url:« yourURl », введите: «POST», dataType: «json»}); ' –

0

Ваш контроллер не существует там, где вы ожидаете его. Щелкните правой кнопкой мыши по URL-адресу в сообщении об ошибке и попробуйте «открыть на новой вкладке», если вы находитесь в Chrome. Это не имеет никакого отношения к Ajax. Это связано с настройкой и маршрутизацией MVC.

+0

Как это возможно, если в моей функции индекса в этом контроллере создания я могу получить значения с помощью 'print_r ($ this-> create_model-> getCategory()) ; ' –

+0

Вы говорите, что вы вызываете точный URL-адрес в соответствии с сообщением об ошибке в окне браузера, и вы получаете вывод, отличный от 404? Но изнутри Ajax это 404? –

+0

Я не могу сказать, является ли он одним и тем же URL-адресом, но если мой Create_controller не существует. Как просмотреть страницу, потому что мой Create_controller является моим главным_контроллером, где я загружаю домашнюю страницу. –

0

Это временное, но заменить

'<?php echo base_url('Create_controller/getCategory'); ?>'

с

"<?php echo base_url('Create_controller/getCategory'); ?>"

и сказать, если он работает ...

+0

все еще ошибка сэр. –