jquery
  • json
  • api
  • wikimedia
  • 2017-11-10 27 views 1 likes 
    1

    私はこことWikimedia APIサイトで見つけられるすべての組み合わせを試しましたが、まだデータが返されないようです。これは、私がgetJSONコールまでそれをテストしているjQueryを使用したWikipedia APIからのJSONデータの取得

    $('#go').click(function() { 
        var str = $("#input").val(); 
        var fullstr = 'https://en.wikipedia.org/w/api.php?format=json&action=query&list=search&srnamespace=0&srsearch=' + str + '&srprop=snippet&format=json&callback=json'; 
        $.getJSON(fullstr, function(data) { 
         alert(data); 
        }); 
        }); 
    

    私のコードで、それが動作しているようだが、私は、コールから何かを取得していないようです。 (最終的な警告()は、返されるオブジェクトをチェックすることです)。

    何が問題ですか?

    ありがとうございます!

    +0

    を渡す必要があるURLをフレーミングしながら、それは、あなたに役立つことができデバッグするには、デバッガの[ネットワーク]タブをチェックして、送信されたものと返されたものを正確に確認しましたか? – Steve

    +0

    @ F.Moss私はクロスオリジンヘッダーの問題のために考えています –

    +0

    ありがとう、私はこれらのことを見ていきます。 –

    答えて

    1

    あなたはクロームのようなものを使用している場合起源= *

    $(document).ready(function(){    
     
        $("#searchWiki").click(function(){ 
     
          var q = document.getElementById("searchid").value; 
     
          $.getJSON("https://en.wikipedia.org/w/api.php?action=query&format=json&gsrlimit=15&generator=search&origin=*&gsrsearch=" + q, function(data){ 
     
        console.log(data) 
     
        }); 
     
        }); 
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     
        <div id="search">      
     
         <input id="searchid" class="input-lg" name="gsrsearch" type="text" placeholder="search Wiki" autocomplete="off"/> 
     
         <button id="searchWiki" class="btn-lg btn-info">Search</button>       
     
        </div> 

    1

    クロスオリジンエラーを防ぐために、origin = *パラメータをリクエストに追加する必要があります。このような何か:

    https://en.wikipedia.org/w/api.php?action=query&list=search&srnamespace=0&srsearch=' + str + '&srprop=snippet&format=json&callback=json&origin=*
    関連する問題