Bonjour,
Je récupère depuis ma bdd des données (via un SELECT depuis mon manager), que je manipule dans ma Vue. Je crée une boucle while en faisant un fetchAll pour afficher toute les données (jusqu'ici tout va bien) en indiquant que je souhaite retourner du JSON :
Index:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //JSON elseif($_GET['action'] == "json_data") { marker(); }
Controller :
La vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function marker() { //Afficher les markers $locationManager = new LocationManager(); $listMarker = $locationManager->addMarker(); header("Content-type:application/json"); require('View/frontend/locationView.php'); }
Ce que je veux c'est qu'ensuite en javascript je récupère les données de cette boucle et notamment la "position" pour pouvoir afficher les marqueurs sur ma map.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php while ($data = $listMarker->fetchAll()) { [{ "name": $data->location_name, "position": { "latitude": $data->latitude, "longitude": $data->longitude } }] }
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
21 function initMarkers() { var map = L.map('map').setView([34.886306,134.379711], 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', }).addTo(map); this.ajaxGet('http://localhost/Tokyo/TokyoAPI/index.php?action=json_data', (reponse) => { let datas = JSON.parse(reponse); for (const data of datas) { L.marker(Object.values(data.position), { "data": data }) .addTo(map) .bindPopup(data.image) .openPopup(); } }); } initMarkers();
Mais j'ai ce message d'erreur suivant en entrant sur la page d'accueil de mon site (là ou contient ma map) :
par aillleurs l'URL http://localhost/Tokyo/TokyoAPI/inde...tion=json_data me renvoie du code HTML alors qu'il devrait renvoyer du JSON avec le header que j'ai inséré dans le controller.
![]()
(les symboles "{" et "[" et ":" ne sont pas comprise)
Merci pour votre aide.
Partager