javascript - 用户输入的 Reddit 搜索 API 查询

标签 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)        

});
});

最佳答案

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

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

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

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

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

关于javascript - 用户输入的 Reddit 搜索 API 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459233/

相关文章:

javascript - 如何获取(内置)麦克风的硬件信息?

javascript - JSON.parse 无效字符与有效 JSON?

mysql json_extract 函数

javascript - 使用 html5 拖放上传上传后播放 mp3 文件

javascript - 从页面抓取文本并将其显示在其他地方的解决方案?

javascript - 在 React 应用程序中使用 Facebook Messenger 按钮的问题

javascript - 原型(prototype)继承应该节省内存吧?

python - json.JSONDecoder().decode() 和 json.loads() 有什么区别

javascript - 无法将数据发送到 API 服务器 'Error trying to diff ' [对象对象 ]'. Only arrays and iterables are allowed'

facebook - 仅当网站访问者还不是粉丝时才提示他们点赞 Facebook 页面