Salut,
Mon problème concerne un devoir que je dois rendre mardi prochain.
Je débute en jQuery, je connais aussi un peu PHP, j'arrive à récupérer des données via jQuery, que ce soit avec la méthode .ajax(), .load() ou .get(). Jusque là, je n'ai fait que récupérer des données stockées dans des tableaux via des scripts script php.
Or, le devoir du prof est le suivant :
Créer une page simple HTML, en passant par Bootstrap pour une édition très sommaire, le but étant de créer une sorte de moteur de recherche wikipédia. On crée donc un simple champ de saisie et un bouton d'envoi. Ça c'est OK.
En utilisant jQuery, on doit aller récupérer en GET, via un script PHP fourni par le prof, qui utilise une API wikipédia pour nous renvoyer toutes les pages en lien avec ce que l'utilisateur aura saisi(ici je dois l'afficher dans la div #resultats.
Mon problème, c'est tout simplement que je ne récupère rien du tout, et que je n'ai même pas de message d'erreur.
Voici le code html :
Code html : 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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <!DOCTYPE html> <html> <head> <title>Formulaire Wikipédia</title> <meta charset="UTF-8"> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous"> </head> <body> <div class="container"> <h1>WikiSearchor <span> mon moteur de recherche préféré NEW!</span></h1> <form> <input type="text" id="search"> <input type="submit" id="bouton"> </form> <div class="row"> <div class="col-md-6"> <h2>Résultats</h2> <div id="resultats"> <h3>K.maro</h3> Description </div> </div> <div class="col-md-6"> <h2>Détails</h2> <div id="detail"> <h3>K.maro</h3> blabla... </div> </div> </div> </div> <script src="jquery.js"></script> <script src="formulaire.js"></script> </body> </html>
Le code php fournit par le prof :
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
18
19
20
21
22
23 <?php header('Content-Type: application/json'); if ( isset( $_GET['search'] ) || isset( $_GET['title'] ) ) { $url = "https://fr.wikipedia.org/w/api.php?action=query&format=json"; if ( isset( $_GET['search'] ) ) { $url .= "&list=search&srsearch=".urlencode( $_GET['search'] ); } else if ( isset( $_GET['title'] ) ) { $url .= "&prop=revisions&rvprop=content&titles=".urlencode( $_GET['title'] ); } // chargement et affichage de la réponse brute de l'API wikipedia $request = curl_init( $url ); curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec( $request ); curl_close( $request ); } else { echo '{"error":"Et le paramètre \"search\" il est où ?? Au pire il me faut un paramètre \"title\""}'; } ?>
Et enfin mon code jQuery :
J'ai rajouté en commentaire l'essai avec un .ajax() que j'ai tenté.
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
22
23
24
25
26
27
28 $(document).ready(function() { $('#bouton').click(function(){ // // essai alert : // var saisie = $('#search').val() // alert(saisie); var param = $('#search').val(); $('#resultats').load('proxy.php',param); // $.get('proxy.php?search=', function(data) { // $('resultats').html(data); }); }); }); // $.ajax({ // type: 'GET', // url: 'proxy.php?search=bla', // timeout: 3000, // datatype:'html', // success: function(data) { // alert(data); // }, // error: function() { // alert('La requête n\'a pas abouti'); // } // }); // });
Merci de bien vouloir m'aider.![]()
Partager