J'ai démarré mon premier projet CodeIgniter et j'ai beaucoup de mal à faire un appel Ajax à mon contrôleur. J'ai mis une simple déclaration d'écho dans le contrôleur, mais je reçois une erreur de console dans le navigateur - POST http://localhost:8888/lotto/get_results/ 404 (Not Found)
. Cela me porte à croire que je ne référence pas le contrôleur correctement dans l'appel AJAX. Voici le code pertinent.Appel AJAX infructueux au contrôleur à l'aide de CodeIgniter
Voir - 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);
}
});
}
}
Controller - 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";
}
}
?>
également dans mon fichier config j'ai les suivantes:
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
Toute aide serait appréciée Ated - J'ai passé beaucoup de temps à ce sujet, mais je n'arrive pas à le comprendre.
Avez-vous essayé: url: "/lotto/get_results/lotto.php" ??? 404 signifie que votre URL ne peut pas être trouvée –
Pas sûr, mais si vous supprimez le dernier '/' de votre URL cela fonctionne? (/ lotto/get_results) – Pierrickouw
@GreenLeaf Non, la suppression de la barre oblique finale entraîne la même erreur de console – garethdn