Appel ajax/ Datatable/Erreur JSON

Résolu/Fermé
marco_cheech Messages postés 12 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 29 mars 2017 - 8 févr. 2017 à 13:14
marco_cheech Messages postés 12 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 29 mars 2017 - 8 févr. 2017 à 15:59
Bonjour,
Bonjour,

Je bute sur un problème depuis quelques jours, j'initialise une datatable qui doit se remplir qu'après la saisie de l'utilisateur.

Donc je fais mon appel ajax dans la méthode Change().

$("input[type='text']").change(function(){

$.ajax({
url: 'transfert.php',
type: 'POST',
data: 'type=detail',
dataType: 'json',
success: function (json) {
console.log('success');
},
error : function(resultat, statut, erreur){
alert(resultat);
alert(statut);
alert(erreur);
console.log("error",resultat, statut,erreur);
}
});


Seulement une alerte se déclenche :SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Quand je regarde dans l'inspecteur la réponse, j'ai toute la page en html et la chaîne JSON tout en bas (qui me semble correcte).

Toujours dans l'inspecteur, dans l'aperçu je vois que il y a mes zones de textes qui apparaissent avant la chaîne JSON. Je pense que c'est à cause de cela que je ne peux parser les données.

Comment puis-je spécifier que l'appel ajax est pour ma datatable ?

Merci d'avance pour votre aide !


1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 8/02/2017 à 15:15
Salut,

L'affichage des zones de textes html avant la chaine JSON semble effectivement être le problème.

Il n'y a rien de plus à spécifier au niveau de l'appel ajax, le problème vient de fichier transfert.php qui doit retourner uniquement le JSON et pas d'html afin que javascript puisse le parser.

Bonne journée,
1
marco_cheech Messages postés 12 Date d'inscription lundi 1 février 2016 Statut Membre Dernière intervention 29 mars 2017
8 févr. 2017 à 15:59
Salut, merci pour ta réponse !
En effet, j'utilise le moteur de template Smarty qui me générait une en-tête avant ma chaîne JSON. J'ai donc séparer mon code en 2 page différentes.

Bonne journée
0