Bonjour, je récupère un tableau php via ma base de donnée, je l'envoie ensuite par l'Ajax à ma page où de là je voulais, avant de commencer à le traiter, vérifier qu'il est bien arriver avec un alert.

Lorsque je fais un simple alert, il m'affiche bien mon tableau encoder en JSON mais une fois que je veux utiliser JSON.parse, j'ai l'erreur :

Uncaught SyntaxError: Unexpected token n
Donc voici monc code php :

Code php : 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
<?php
	header('Content-type: text/HTML; charset=ANSI');
	try
	{
		$bdd = new PDO('mysql:hote=localhost;dbname=calendriergite;','root','');
	}
	catch (Exception $e)
	{
		die ('Erreur : ' . $e -> getMessage());
	}
 
	$reponse = $bdd->query('SELECT * FROM calendrier');
 
	echo json_encode($reponse->fetchAll(PDO::FETCH_ASSOC));
 
	$reponse->closeCursor(); // Termine le traitement de la requête
?>

Et maintenant mon code Javascript :

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
var xhr = getXMLHttpRequest();
 
function request(callback) 
{
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
			callback(xhr.responseText);
		}
	};
	xhr.open("GET", "a.php", true);
	xhr.send(null);
}	
function readData(sData) 
{
	var dates = xhr.responseText;
	dates = JSON.parse(dates);
	alert(dates);
}
request(readData);
J'ai aussi essayer de faire ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
function readData(sData) 
{
	 var dates = xhr.responseText;
	 dates = '"' + dates + '"';
	 dates = JSON.parse(dates);
	 alert(dates);
}
request(readData);
Mais là j'ai la même erreur avec la lettre qui change :

Uncaught SyntaxError: Unexpected token j
Et j'ai aussi essayer de changer le charset en UTF-8(sans BOM) mais ça n'a pas changer. :/

Merci d'avance pour votre aide. :/