Bonjour,

J'utilise Codeigniter et j'essaie d'afficher les erreurs d'un formulaire depuis ajax.

Dans mon controlleur je renvoie les erreurs de cette facon ;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if ($this -> input -> is_ajax_request()) {
$message = array('errors' => validation_errors());
echo json_encode($message);
exit ;
Puis dans ma requete Ajax ;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$('#form').submit(function(e) {
e.preventDefault();
$('.error').hide();
var data = $(this).serialize();
url = $(this).attr('action');
$.ajax({
    type : 'POST',
    url : url,
    data : data,
    datatype : "json",
    success : (function(message) {
                if(message.errors) {
                    console.log(message.errors);
                } else {
                    url = $('.current_url').attr('href');
                    location.href = url;
                }
            })
        })
    })
Mon problème vient du fait que "message.errors" ne me retourne rien. Mais si je demande juste "message" il me retourne bien les erreurs. Mais me fait planté le reste si il n'y a pas d'erreurs.

J'ai bien réussi a extraire les erreurs en utilisant la fonction eval(). Mais elle me fait aussi planter le reste de mon script si il n'y a pas d'erreur.

Merci par avance pour votre aide.