RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Julien Moquet on 2014-10-31 12:26 | [forum:482211] |
La page de test suivante : http://plf.jdonrefv4.ppol.minint.fr/_plugin/jdonrefv4-0.2/JDONREFv3Test.html dispose du code javascript pour appeler JDONREF. Pour simplifier : results = document.getElementById('results'), function getResults(keywords) { var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search'); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { displayResults(xhr.responseText); } }; var jdonrefv4 = '"jdonrefv4":{"value":"'+keywords+'"}'; var params = '{"query":{'+jdonrefv4+'}}'; xhr.send(params); return xhr; } function displayResults(response) { // Affiche les résultats d'une requête res = eval("("+response+")"); var total = res.hits.hits.length; results.style.display = total>0 ? 'block' : 'none'; // On cache le conteneur si on n'a pas de résultats if (total>0) { // On ne modifie les résultats que si on en a obtenu results.innerHTML = ''; // On vide les résultats for (var i = 0, div ; i < total ; i++) { div = results.appendChild(document.createElement('div')); div.innerHTML = res.hits.hits[i]._score + " " + makeString(res.hits.hits[i]._source); } } } permet, suite à un appel de getResults, d'afficher les résultats dans une div "results". |
RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Balajee MOUNISSAMY on 2014-10-31 10:47 | [forum:482207] |
$result est toujours vide. Peux-tu me donner un exemple de ton script en javascript qui fonctionne ? Je l'adapterai en PHP. |
RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Julien Moquet on 2014-10-31 10:39 | [forum:482206] |
Dans un premier temps, tu peux simplement tester en supprimant 'context'. Ensuite, tu peux essayer 'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}}' par contre, je ne l'ai pas testé, je travaille en javascript. Je te montrerai après pour faire un filtre, car cela reste une bonne idée pour optimiser les performances. |
RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Balajee MOUNISSAMY on 2014-10-31 10:35 | [forum:482205] |
J'ai testé par un petit script PHP ci-dessous : <?php //création d'un contexte d'appel de type POST $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>'Content-type: application/x-www-form-urlencoded', 'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}, "filter": {"term" : { "code_departement" : "75" }}}' ) ); $context = stream_context_create($opts); //Utilisation du contexte dans l'appel $result = file_get_contents( 'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search', false, $context); echo $result; ?> Mais $result est vide. Qu'est-ce que je fais comme erreur ? Merci d'avance. |
RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Julien Moquet on 2014-10-31 09:34 | [forum:482204] |
C'est du REST ! Il suffit d'appeler l'url avec les exemples donnés en contenu POST. Par exemple, http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search avec comme donnée POST { "query": { "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" } } } Le plus simple est de le faire en javascript avec XHR, mais en PHP cela donne quelque chose comme : //création d'un contexte d'appel de type POST $opts = array( 'http'=>array( 'method'=>'POST', 'header'=>'Content-type: application/x-www-form-urlencoded', 'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}} ) ); $context = stream_context_create($opts); //Utilisation du contexte dans l'appel $result = file_get_contents( 'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search', false, $context); |
script php pour lancer une requête de géocodage au serveur JDONREF [ Répondre ] Par : Balajee MOUNISSAMY on 2014-10-31 08:40 | [forum:482203] |
Bonjour, Serait-il possible d'avoir un exemple de script php pour lancer une requête de géocodage au serveur JDONREF ? Merci d'avance Balajee |