我已经开始了我的第一个 CodeIgniter 项目,并且在对我的控制器进行 Ajax 调用时遇到了很多麻烦。我在控制器中放了一个简单的 echo 语句,但在浏览器中出现控制台错误 - POST http://localhost:8888/lotto/get_results/ 404 (Not Found)
。这让我相信我没有在 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';
任何帮助将不胜感激 - 我在这方面花了很多时间,但似乎无法弄清楚。