2016-08-13 6 views
1

Wiki APIドキュメントのサンプルコードを使用しましたが、検索項目を入力すると何も起こりません。コンソールにエラーはありません。何もありません。 URL自体は、ブラウザに入力すると機能しますので、コードのあるものが適切な値を渡していないと思います。 APIの呼び出し方法に問題はありますか?以下は、関連するコードです:ここではWiki APIリクエストが機能しない

$(document).ready(function(){ 
    $('#search-submit').click(function() { 
     getWiki($('#searchVal').val()); 
    }); 
    /*add code for get lucky function*/ 
}); 

function getWiki(searchParam) { 
    $.ajax({ 
    url: 'http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text&section=0&page='+searchParam+'&callback=?', 
    dataType: 'json', 
    type: 'POST', 
    headers: { 'Api-User-Agent': 'Example/1.0' }, 
    success: function(data) { 
     var result = data; 
     pageTitle = result.title; 
     $(".search-box").html(pageTitle); 
    } 
}); 
}; 

はHTMLです:

<body> 
    <div class="container"> 
    <div class="col-lg-12 header"> 
    <h1>Search Wiki</h1> 
    </div> 
    <div class="row search-box"> 
     <div class="col-lg-10"> 
    <input placeholder=" Search" class="input" type="text" id="searchVal" name="searchVal"/></div> 
     <div class="col-lg-2"><button type="submit" id="search-submit" name="search-submit" class="btn-default"> 
    <i class="fa fa-search fa-2x"></i> 
</button></div> 
    </div> 
    <div class="row button-box text-center"> 
     <div class="col-lg-12"> 
     <button type="button" class="btn btn-primary" id="random">I'm Feeling Lucky</button></div> 
    </div> 
    </div> 
</body> 

答えて

1

ザ・はJSONは結果の前parse性質を持っているので、それは

などのタイトルを取得するために data.parse.titleなければならない返さ

$(document).ready(function() { 
 
    $('#search-submit').click(function() { 
 
     getWiki($('#searchVal').val()); 
 
    }); 
 
    /*add code for get lucky function*/ 
 
}); 
 

 
function getWiki(searchParam) { 
 
    $.ajax({ 
 
     url: 'http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text&section=0&page=' + searchParam + '&callback=?', 
 
     dataType: 'json', 
 
     type: 'POST', 
 
     headers: { 
 
      'Api-User-Agent': 'Example/1.0' 
 
     }, 
 
     success: function(data) { 
 
      var result = data.parse; 
 
      var pageTitle = result.title; 
 
      $(".search-box").html('The title is : ' + pageTitle); 
 
     } 
 
    }); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Search for something : <input id="searchVal"><button id="search-submit">Search</button> 
 
<br /><br /><br /> 
 
<div class="search-box"></div>

+0

Duh .... figure私はとても単純なことを忘れています。ありがとうございます – Andy

関連する問題