最初の 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';
何か助けていただければ幸いです-私はこれに多くの時間を費やしましたが、それを理解できないようです.