我已經開始了我的第一個CodeIgniter項目,並且對我的控制器進行Ajax調用時遇到了很多麻煩。我在控制器中放了一個簡單的echo語句,但在瀏覽器中出現控制檯錯誤 - POST http://localhost:8888/lotto/get_results/ 404 (Not Found)
。這導致我相信我沒有在AJAX調用中正確地引用控制器。以下是相關的代碼。使用CodeIgniter對控制器進行AJAX調用失敗
視圖 - 的index.php
$(document).ready(function(){
$('#notification').hide();
retrieveValues();
});
$('.numDraws').change(function(){
retrieveValues();
});
function retrieveValues() {
if (!checkConnection()) {
$('#notification').html("<span>No internet connection available</span>");
$('#notification').slideDown(500, 'linear');
return;
} else {
$('#notification').slideUp(500, 'linear');
$('#loading').fadeIn(200);
var numOfDraws = parseInt($('.numDraws').find('option:selected').val());
if (isNaN(numOfDraws)) {
numOfDraws = "ALL";
}
$.ajax({
url: "/lotto/get_results/",
type: "post",
data: {numOfDraws:numOfDraws},
success: function (data) {
// var json = $.parseJSON(data);
// setTimeout(function(){displayResults(json)} ,1200);
alert(data);
}
});
}
}
控制器 - lotto.php
<?php
class Lotto extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('lotto_model');
}
public function index()
{
$data['title'] = "Home";
$this->load->view('templates/header', $data);
$this->load->view('lotto/index');
$this->load->view('templates/footer');
}
public function get_results($numOfDraws) {
//$data['results'] = $this->lotto_model->get_results(1);
echo "Reached the controller";
}
}
?>
而且在我的配置文件我有以下幾點:
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
任何幫助將升值ated - 我花了很多時間在這個上,但似乎無法弄清楚。
您是否嘗試過:URL: 「/lotto/get_results/lotto.php」 ??? 404意味着你的網址無法找到 –
不確定,但如果你從你的網址中刪除最後一個'/'它的作品? (/ lotto/get_results) – Pierrickouw
@GreenLeaf不,刪除尾部斜槓導致相同的控制檯錯誤 – garethdn