2016-08-13 2 views
1

위키 API 문서의 일부 샘플 코드를 사용했지만 검색 항목을 입력해도 아무런 변화가 없습니다. 콘솔에 오류가 없으며 아무런 오류가 없습니다. URL 자체는 브라우저에 입력하면 작동하므로 코드가있는 어떤 것이 적절한 값으로 전달되지 않는다고 생각합니다. API 호출 방법에 문제가 있습니까? 여기위키 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 .... 수치 나는 아주 간단한 것을 잊어 버린다. 감사합니다 – Andy

관련 문제