luistavares

JavaScript - Como usar AJAX para consultar informações na Wikipédia com a MediaWiki API

Feb 12th, 2023
1,718
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.88 KB | Source Code | 0 0
  1. <html lang="pt-br">
  2.     <head>
  3.         <meta charset="utf-8">
  4.         <title>Wikipedia com JS</title>        
  5.         <style>
  6.             #resposta{
  7.                 width: 700px;
  8.                 height: 300px;
  9.                 border: 1px solid black;
  10.                 margin-top: 5px;
  11.                 padding: 10px;
  12.                 background-color: lightgreen;
  13.                 overflow: scroll;
  14.             }
  15.         </style>
  16.         <script>
  17.             function processa() {
  18.                 let t = document.getElementById("termo").value;
  19.                 const xhttp = new XMLHttpRequest();
  20.                 xhttp.onload = function() {
  21.                     let r = this.responseText;        
  22.                     let objResponse = JSON.parse(r);
  23.                     if (objResponse && objResponse.query && objResponse.query.pages){
  24.                        let wikiPage = objResponse.query.pages[Object.keys(objResponse.query.pages)[0]];
  25.                         let mainText = wikiPage["extract"];
  26.                         if (mainText){            
  27.                             document.getElementById("resposta").innerHTML = mainText;
  28.                         }
  29.                         else {
  30.                             document.getElementById("resposta").innerHTML = "Não encontrei explicação para " + t;
  31.                         }
  32.                     }            
  33.                 }
  34.                 xhttp.open("GET", "https://pt.wikipedia.org/w/api.php?format=json&origin=*&action=query&prop=extracts&explaintext=1&titles="+t);
  35.                 xhttp.send();    
  36.             }      
  37.         </script>
  38.     </head>
  39.     <body>
  40.         <h3>MediaWiki API com JS</h3>
  41.         <label>Termo:</label>        
  42.         <input id="termo"/><br>
  43.         <button onclick="processa()">Processa</button><br>
  44.         <div id="resposta">
  45.             ...
  46.         </div>
  47.     </body>
  48. </html>
  49.  
  50.  
Advertisement
Add Comment
Please, Sign In to add comment