用户输入的reddit搜索API查询

时间:2014-01-30 14:31:21

标签: javascript json api search reddit

既然我可以利用reddit API的搜索功能,我希望用户输入自己的查询。我是javascript的新手,我认为我的代码的问题是在用户输入查询之前正在运行API搜索功能。

HTML:

<div id="site-content">
<form name="RedditSearch">
    Enter your query:
    <input type="text" name="query" onkeydown="if (event.keyCode == 13) document.getElementById('search').click()"/>
    <input type="button" id="search" value="Search" onclick="searchquery();" />
</form>    
</div>

使用Javascript:

var container = $('#site-content')
function searchquery()
{
 var query = document.RedditSearch.query.value;
}
 $.getJSON("http://www.reddit.com/search.json?q=" + query, function(data) {
  $.each(data.data.children, function(i,item){
    var title = item.data.title
    var post = '<div>'+title+'</div>'
    container.append(post)        

});
});

1 个答案:

答案 0 :(得分:1)

实际上,您的getJSON查询似乎在页面加载时执行。那时,用户还没有输入任何内容,因此执行得太早。

您需要添加一个检测用户输入的事件侦听器,然后执行对reddit API的AJAX调用。

假设您的用户在文字区域输入了他的关键字,您可以使用.change()

您可以在此处获取更多信息:http://api.jquery.com/category/events/或此处http://www.w3schools.com/jquery/event_change.asp

案例中的示例:http://jsfiddle.net/2ECG6/1/