JS ne reconnait pas une variable php
Résolu/Fermé
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
-
Modifié le 26 juin 2017 à 13:37
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 - 7 juil. 2017 à 18:25
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 - 7 juil. 2017 à 18:25
A voir également:
- Parser was blocked due to document.write
- Mon pc ne reconnait pas ma clé usb - Guide
- Easy php - Télécharger - Divers Web & Internet
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Facebook ne reconnait pas mon adresse mail - Forum Facebook
4 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
26 juin 2017 à 14:57
26 juin 2017 à 14:57
Bonjour,
Si tu « affiches la source » depuis ton navigateur, ça donne quoi au niveau de ta variable JS ?
Est-ce que la console javascript te donne un message d'erreur ?
Xavier
Si tu « affiches la source » depuis ton navigateur, ça donne quoi au niveau de ta variable JS ?
Est-ce que la console javascript te donne un message d'erreur ?
Xavier
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 29 juin 2017 à 12:36
Modifié le 29 juin 2017 à 12:36
Bonjour,
Tu n'as pas donné le code source généré (celui qu'on obtient dans le navigateur en « affichant la source »).
Or c'est probablement là qu'on verra le problème, puisque ton erreur survient a priori dans le navigateur et non côté serveur.
Par ailleurs, ta page html n'est pas correcte à cause des « echo » et « print_r » de ton code php.
Ces éléments sont importants pour voir ce qu'il se passe, mais il faut les supprimer (ou commenter) quand tu n'en as plus besoin.
Comme ils apparaissent dans la page html avant le tag <html>, ils peuvent très probablement poser des soucis aux navigateurs et scripts.
Mets en commentaires ces lignes-là :
Xavier
Tu n'as pas donné le code source généré (celui qu'on obtient dans le navigateur en « affichant la source »).
Or c'est probablement là qu'on verra le problème, puisque ton erreur survient a priori dans le navigateur et non côté serveur.
Par ailleurs, ta page html n'est pas correcte à cause des « echo » et « print_r » de ton code php.
Ces éléments sont importants pour voir ce qu'il se passe, mais il faut les supprimer (ou commenter) quand tu n'en as plus besoin.
Comme ils apparaissent dans la page html avant le tag <html>, ils peuvent très probablement poser des soucis aux navigateurs et scripts.
Mets en commentaires ces lignes-là :
/* print_r(array_values($datos_lluvia)); echo "<pre>datos_lluvia :<br>"; print_r($datos_lluvia); echo " en Json => " . json_encode($datos_lluvia); echo "</pre>"; */
Xavier
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
29 juin 2017 à 14:40
29 juin 2017 à 14:40
J ai supprimer les comentaires et voici le code source
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/loader.js"></script>
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
//cargamos nuestro array $datos_lluvia creado en PHP para que se puede utilizar en JavaScript
var cargaDatos = [10,40,5,5,20,91];
console.log(cargaDatos);
console.log( " cargaDatos : " );
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var datosFinales = google.visualization.arrayToDataTable(cargaDatos);
var options = {
title: 'Precipitacion',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(datosFinales, options);
}
</script>
</head>
<body>
<div id="curve_chart" style="width: 900px; height: 500px"></div>
</body>
</html>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
29 juin 2017 à 14:48
29 juin 2017 à 14:48
Tu restes sur ton ancien code ou tu passes à l'ajax comme je te l'ai indiqué ??
(car je vois que tu as chargé Jquery....)
(car je vois que tu as chargé Jquery....)
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
29 juin 2017 à 16:17
29 juin 2017 à 16:17
Si je comprend bien l ajax, je dois faire
un fichier qui contient tout le php pour recuperer les données
et
un autre qui contient le js pour faire le graph.
Et je remplace le getdata.php par la url de mon fichier php
Est ce que c'est correct?
un fichier qui contient tout le php pour recuperer les données
et
un autre qui contient le js pour faire le graph.
Et je remplace le getdata.php par la url de mon fichier php
Est ce que c'est correct?
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
Modifié le 29 juin 2017 à 17:39
Modifié le 29 juin 2017 à 17:39
J ai creer un ficher new1.php qui recupere les donnes et contient
et un ficher new4.php pour traiter le graph qui contient
erreur console:
1- [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/
2- jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new4.php:27)
at <anonymous>
et le code source est
qu'en penses-tu?
<?php //Démarrage des sessions session_start (); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); // REQUIRE require_once ('connexion.php'); //Récupération des variables AVANT de les utiliser $mes_opcion = !empty($_POST['mes']) ? $_POST['mes'] : (!empty($_SESSION['mes']) ? $_SESSION['mes'] : NULL); $_SESSION['mes'] = $mes_opcion ; //print_r(array_values($mes_opcion)); //Traitement $sql = 'SELECT fecha, lluvia FROM meteo WHERE MONTH(fecha) = ? '; $datas = array($mes_opcion[0]); try{ $req = $connexion->prepare($sql); $req->execute($datas); $row = $req->fetchAll(PDO::FETCH_ASSOC); //on stocke les données dans un ARRAY }catch(Exception $e){ $result['ERROR'][] = "Erreur ! ".$e->getMessage(); } $req->closeCursor(); $datos_lluvia = array(); if(!empty($row)){ //On parcours l'array foreach($row as $R) { $result[] = (float)$R['lluvia']; } }else{ $result['ERROR'][] = " La requête n'a pas retournée de données.... "; } //echo json_encode($result); ?>
et un ficher new4.php pour traiter le graph qui contient
<?php //Démarrage des sessions session_start (); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/loader.js"></script> <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); //cargamos nuestro array $datos_lluvia creado en PHP para que se puede utilizar en JavaScript var jsonData = $.ajax({ url: "new1.php", dataType: "json", async: false }).responseText; console.log(jsonData); google.charts.setOnLoadCallback(drawChart); function drawChart() { var datosFinales = google.visualization.arrayToDataTable(jsonData); var options = { title: 'Precipitacion', curveType: 'function', legend: { position: 'bottom' } }; var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); chart.draw(datosFinales, options); } </script> </head> <body> <div id="curve_chart" style="width: 900px; height: 500px"></div> </body> </html>
erreur console:
1- [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/
2- jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new4.php:27)
at <anonymous>
et le code source est
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/loader.js"></script> <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); //cargamos nuestro array $datos_lluvia creado en PHP para que se puede utilizar en JavaScript var jsonData = $.ajax({ url: "new1.php", dataType: "json", async: false }).responseText; console.log(jsonData); google.charts.setOnLoadCallback(drawChart); function drawChart() { var datosFinales = google.visualization.arrayToDataTable(jsonData); var options = { title: 'Precipitacion', curveType: 'function', legend: { position: 'bottom' } }; var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); chart.draw(datosFinales, options); } </script> </head> <body> <div id="curve_chart" style="width: 900px; height: 500px"></div> </body> </html>
qu'en penses-tu?
EDIT : ENCORE ET ENCORE ET ENCORE !!!!!!!!!
=> Ajout du LANGAGE dans les balises de code (la coloration syntaxique). Explications disponibles ici :ICIMerci d'y penser dans tes prochains messages.Jordane45 |
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
29 juin 2017 à 17:54
29 juin 2017 à 17:54
Bon...
Déjà (par ce que j'en ai marre de devoir éditer tous tes messages :
<gras Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code en y PRÉCISANT LE LANGAGE !!! </gras>).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite...
Ca ce n'est qu'un WARNING .. pas une erreur.
Puis :
Pourquoi ... est-ce que ton code (javascript) .. ne correspond pas à celui donné en exemple ?
As tu essayé de juste copier/coller le code qui se trouve dans le lien que je t'ai donné ??
Par exemple...
Dans ton Javascript .. ne mettre que :
NB: Pour éviter le warning (voir mon point N°1 ) il suffit de remplacer :
par
A la limite... on pourrait même un peu modifier le code proposé par celui la : (j'en profite pour y ajouter un peu de debug )
Si le message d'erreur jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81) persiste, tu pourras essayer de changer la ligne
Déjà (par ce que j'en ai marre de devoir éditer tous tes messages :
<gras Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code en y PRÉCISANT LE LANGAGE !!! </gras>).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Ensuite...
1- [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/
Ca ce n'est qu'un WARNING .. pas une erreur.
Puis :
Pourquoi ... est-ce que ton code (javascript) .. ne correspond pas à celui donné en exemple ?
As tu essayé de juste copier/coller le code qui se trouve dans le lien que je t'ai donné ??
Par exemple...
Dans ton Javascript .. ne mettre que :
// Load the Visualization API and the piechart package. google.charts.load('current', {'packages':['corechart']}); // Set a callback to run when the Google Visualization API is loaded. google.charts.setOnLoadCallback(drawChart); function drawChart() { var jsonData = $.ajax({ url: "new1.php", dataType: "json", async: false }).responseText; // Create our data table out of JSON data loaded from server. var data = new google.visualization.DataTable(jsonData); // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('curve_chart')); chart.draw(data, {width: 400, height: 240}); } </script>
NB: Pour éviter le warning (voir mon point N°1 ) il suffit de remplacer :
async: false
par
async: true
A la limite... on pourrait même un peu modifier le code proposé par celui la : (j'en profite pour y ajouter un peu de debug )
// Load the Visualization API and the piechart package. google.charts.load('current', {'packages':['corechart']}); // Set a callback to run when the Google Visualization API is loaded. google.charts.setOnLoadCallback(drawChart); function drawChart(){ $.ajax({ url: "new1.php", dataType: "json", async: true, success: function(jsonData){ console.log(jsonData); // Create our data table out of JSON data loaded from server. var data = new google.visualization.DataTable(jsonData); // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('curve_chart')); chart.draw(data, {width: 400, height: 240}); }, error:function(jqXHR, textStatus){ alert('error :' jqXHR.status + ' : ' +textStatus); } }); }
Si le message d'erreur jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81) persiste, tu pourras essayer de changer la ligne
var data = new google.visualization.DataTable(jsonData);par
var data = new google.visualization.DataTable($.parseJSON(jsonData));
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
6 juil. 2017 à 12:33
6 juil. 2017 à 12:33
Bonjour Jordane
J ai modifié le script en enlevant tout ce qui traite du graph et j'ai conservé la ligne de récupération des données en JS
Voici le code. (inserer avec "code php" ou le console.log ne renvoit rien.
J ai modifié le script en enlevant tout ce qui traite du graph et j'ai conservé la ligne de récupération des données en JS
Voici le code. (inserer avec "code php" ou le console.log ne renvoit rien.
<?php //Démarrage des sessions session_start (); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); // REQUIRE require_once ('connexion.php'); //Récupération des variables AVANT de les utiliser $mes_opcion = !empty($_POST['mes']) ? $_POST['mes'] : (!empty($_SESSION['mes']) ? $_SESSION['mes'] : NULL); $_SESSION['mes'] = $mes_opcion ; print_r(array_values($mes_opcion)); //Traitement $[/sql/sqlintro.php3 sql] = 'SELECT fecha, lluvia FROM meteo WHERE MONTH(fecha) = ? '; $datas = array($mes_opcion[0]); try{ $req = $connexion->prepare($sql); $req->execute($datas); $row = $req->fetchAll(PDO::FETCH_ASSOC); //on stocke les données dans un ARRAY }catch(Exception $e){ echo "Erreur ! ".$e->getMessage(); } $datos_lluvia = array(); if(!empty($row)){ //On parcours l'array foreach($row as $R) { $datos_lluvia[] = (float)$R['lluvia']; } }else{ echo " La requête n'a pas retournée de données.... "; } print_r(array_values($datos_lluvia)); echo "<pre>datos_lluvia :<br>"; print_r($datos_lluvia); echo " en Json => " . json_encode($datos_lluvia); echo "</pre>"; //les echo renvoient bien les données $req->closeCursor(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> var cargaDatos = <?php echo json_encode($datos_lluvia); ?>; console.log(cargaDatos); console.log( " cargaDatos : " ); /* console.log ne renvoi rien*/ </script> </head> </html>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
7 juil. 2017 à 01:08
7 juil. 2017 à 01:08
le console.log ne renvoit rien
Même pas le mot " cargaDatos " ??
Tu pourrais nous faire une capture écran de ta console lorsque tu affiches cette page ??
Et lorsque tu affiches cette page ...est-ce que la parti php
print_r(array_values($datos_lluvia)); echo "<pre>datos_lluvia :<br>"; print_r($datos_lluvia); echo " en Json => " . json_encode($datos_lluvia); echo "</pre>";affiche quelque chose dans ta page ??
ce fichier est-il bien encodé en utf8 sans bom ? (je parle de l'encodage du fichier ......pas de la déclaration php ou html que tu aurais pu inscrire dans ton code ! )
Voir chapitre 1 ici pour les explications :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
(là aussi je veux bien un screen pour pouvoir m'assurer de mes propres yeux que tu as bien vérifié et compris ce que j'ai dit ..... )
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
Modifié le 7 juil. 2017 à 15:29
Modifié le 7 juil. 2017 à 15:29
Bonjour Jordane
Console.log ne renvoit rien même pas le mot cargaDatos
le php renvoi
Array ( [0] => 03 ) Array ( [0] => 10 [1] => 40 [2] => 5 [3] => 5 [4] => 20 [5] => 91 )
datos_lluvia :
Array
(
[0] => 10
[1] => 40
[2] => 5
[3] => 5
[4] => 20
[5] => 91
)
en Json => [10,40,5,5,20,91]
image impr ecran
Console.log renvoit ceci
Imprime ecran de la console
mon fichier est encode en utf8 sans bom
imprime ecran .
En mettant le code complet ci dessous
erreur dans la console
(6) [10, 40, 5, 5, 20, 91]
new3.php:39 cargaDatos :
jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new3.php:45)
at <anonymous>
Console.log ne renvoit rien même pas le mot cargaDatos
le php renvoi
Array ( [0] => 03 ) Array ( [0] => 10 [1] => 40 [2] => 5 [3] => 5 [4] => 20 [5] => 91 )
datos_lluvia :
Array
(
[0] => 10
[1] => 40
[2] => 5
[3] => 5
[4] => 20
[5] => 91
)
en Json => [10,40,5,5,20,91]
image impr ecran
Console.log renvoit ceci
Imprime ecran de la console
mon fichier est encode en utf8 sans bom
imprime ecran
En mettant le code complet ci dessous
<?php //Démarrage des sessions session_start (); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); // REQUIRE require_once ('connexion.php'); //Récupération des variables AVANT de les utiliser $mes_opcion = !empty($_POST['mes']) ? $_POST['mes'] : (!empty($_SESSION['mes']) ? $_SESSION['mes'] : NULL); $_SESSION['mes'] = $mes_opcion ; print_r(array_values($mes_opcion)); //Traitement $sql = 'SELECT fecha, lluvia FROM meteo WHERE MONTH(fecha) = ? '; $datas = array($mes_opcion[0]); try{ $req = $connexion->prepare($sql); $req->execute($datas); $row = $req->fetchAll(PDO::FETCH_ASSOC); //on stocke les données dans un ARRAY }catch(Exception $e){ echo "Erreur ! ".$e->getMessage(); } $datos_lluvia = array(); if(!empty($row)){ //On parcours l'array foreach($row as $R) { $datos_lluvia[] = (float)$R['lluvia']; } }else{ echo " La requête n'a pas retournée de données.... "; } print_r(array_values($datos_lluvia)); echo "<pre>datos_lluvia :<br>"; print_r($datos_lluvia); echo " en Json => " . json_encode($datos_lluvia); echo "</pre>"; $req->closeCursor(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/loader.js"></script> <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script language="javascript" type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); var cargaDatos = <?php echo json_encode($datos_lluvia); ?>; console.log(cargaDatos); console.log( " cargaDatos : " ); google.charts.setOnLoadCallback(drawChart); function drawChart() { var datosFinales = google.visualization.arrayToDataTable('cargaDatos'); var options = { title: 'Precipitacion', curveType: 'function', legend: { position: 'bottom' } }; var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); chart.draw(datosFinales, options); } </script> </head> <body> <div id="curve_chart" style="width: 900px; height: 500px"></div> </body> </html>
erreur dans la console
(6) [10, 40, 5, 5, 20, 91]
new3.php:39 cargaDatos :
jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new3.php:45)
at <anonymous>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
7 juil. 2017 à 15:31
7 juil. 2017 à 15:31
Heu.... la console.... non seulement elle affiche bien le mot cargaDatos .. mais en plus elle affiche bien le contenu de ta variable .....
je les vois d'ici dans ton imprime écran ..... :-(
je les vois d'ici dans ton imprime écran ..... :-(
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
7 juil. 2017 à 16:01
7 juil. 2017 à 16:01
regarde :
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
7 juil. 2017 à 18:15
7 juil. 2017 à 18:15
oui d accord avec toi
mais d ou vient cette erreur avec le code complet
erreur dans la console
(6) [10, 40, 5, 5, 20, 91]
new3.php:39 cargaDatos :
jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new3.php:45)
at <anonymous>
mais d ou vient cette erreur avec le code complet
erreur dans la console
(6) [10, 40, 5, 5, 20, 91]
new3.php:39 cargaDatos :
jsapi_compiled_default_module.js:81 Uncaught (in promise) Error: Not an array
at gvjs_zba (jsapi_compiled_default_module.js:81)
at Object.gvjs_sm [as arrayToDataTable] (jsapi_compiled_default_module.js:83)
at drawChart (new3.php:45)
at <anonymous>
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
7 juil. 2017 à 18:25
7 juil. 2017 à 18:25
là c'est une erreur au niveau de la librairie ....
Tu utilises "arrayToDataTable"
Il attend un array.... et visiblement tu lui donnes un objet json... normal qu'il tire la tronche ...
Quoi qu'il en soit... je t'avais donné un code permettant de récupérer les données via AJAX.
https://forums.commentcamarche.net/forum/affich-34684758-js-ne-reconnait-pas-une-variable-php#22
L'avais tu essayé ???
Si il ne fonctionnait pas..... qu'est-ce qui apparaissait dans la console ??? (et cette fois... avant de me dire "rien" .. vérifie bien !!! )
Sinon du côté de ton code à toi ...
tu peux essayer de remplacer le code
par :
Et si ça ne marche toujours pas.. par
Tu utilises "arrayToDataTable"
Il attend un array.... et visiblement tu lui donnes un objet json... normal qu'il tire la tronche ...
Quoi qu'il en soit... je t'avais donné un code permettant de récupérer les données via AJAX.
https://forums.commentcamarche.net/forum/affich-34684758-js-ne-reconnait-pas-une-variable-php#22
L'avais tu essayé ???
Si il ne fonctionnait pas..... qu'est-ce qui apparaissait dans la console ??? (et cette fois... avant de me dire "rien" .. vérifie bien !!! )
Sinon du côté de ton code à toi ...
tu peux essayer de remplacer le code
var datosFinales = google.visualization.arrayToDataTable(jsonData);
par :
var datosFinales = new google.visualization.DataTable(jsonData);
Et si ça ne marche toujours pas.. par
var datosFinales = new google.visualization.DataTable($.parseJSON(jsonData));
27 juin 2017 à 12:03
Uncaught SyntaxError: Unexpected token >
2jsapi:22 A Parser-blocking, cross site (i.e. different eTLD+1) script, https://www.google.com/uds/api/visualization/1.0/40ff64b1d9d6b3213524485974f36cc0/format+es,default+es,ui+es,corechart+es.I.js is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message.See https://www.chromestatus.com/feature/5718547946799104 for more details.
google.loader.f @ jsapi:22
(anonymous) @ jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['corechart']}]}:54
new3.php:114 (6) [10, 40, 5, 5, 20, 91]
new3.php:115 cargaDatos :
format+es,default+es,ui+es,corechart+es.I.js:272 Uncaught Error: First row is not an array.
at gvjs_oba (format+es,default+es,ui+es,corechart+es.I.js:272)
at Object.gvjs_Cl [as arrayToDataTable] (format+es,default+es,ui+es,corechart+es.I.js:274)
at drawChart (new3.php:121)
27 juin 2017 à 12:15
Concernant ces messages d'erreur , il me semblait t'avoir indiqué de TELECHARGER les différents fichiers JS et de les mettre DIRECTEMENT sur ton site au lieu de pointer sur les URL distantes.
Commence par faire ça puis regarde si les messages apparaissent toujours.
27 juin 2017 à 13:59
Pour https://www.gstatic.com/charts/loader.js ce n est pas un fichier. Que dois je faire avec lui?
27 juin 2017 à 14:14
Modifié le 29 juin 2017 à 00:15
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {packages: ['corechart']});
</script>
Le message d erreur est : new3.php:43 Uncaught SyntaxError: Unexpected token <
Merci pour ton aide.
Mon script est.
Explications disponibles ici :ICI
Merci d'y penser dans tes prochains messages.