首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pixabay API总是显示相同的结果

Pixabay API总是显示相同的结果
EN

Stack Overflow用户
提问于 2019-09-05 21:32:15
回答 1查看 272关注 0票数 0

我使用下面的代码和一个搜索字段(输入)从Pixabay返回结果。不管我在搜索中使用什么关键字,我总是得到相同的5个结果(见附图)。我遗漏了什么?任何帮助都非常感谢!

代码语言:javascript
复制
var API_KEY = 'my_hidden_api_key',
		searchTerm,
		submitSearch = $('#cms_pixaSearchBtn'),
		boxPixaResults = $('#cms_displayPixaResults'),
		URL = "https://pixabay.com/api/?key="+API_KEY+"&safesearch=true&q="+encodeURIComponent(searchTerm);
	
	
	
	submitSearch.click(function(){
		searchTerm = $('#cms_pixaSearchKeywords').val();
		console.log(searchTerm);
		
		$.getJSON(URL, function(data){
		if (parseInt(data.totalHits) > 0)
			$.each(data.hits, function(i, hit){ 
				console.log(hit.pageURL); 
				boxPixaResults.append('<img src="' + hit.previewURL + '" alt="">');
			});
		else
			console.log('No hits');
		});	
	}); 
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<input id="cms_pixaSearchKeywords" type="text" value="">		
<input id="cms_pixaSearchBtn" type="button" value="search">

<div id="cms_displayPixaResults"></div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-05 22:06:05

代码语言:javascript
复制
URL = "https://pixabay.com/api/?key="+API_KEY+"&safesearch=true&q="+encodeURIComponent(searchTerm);

在调用click处理程序之前定义:

代码语言:javascript
复制
submitSearch.click(function(){
        searchTerm = $('#cms_pixaSearchKeywords').val();

所以searchTerm是空的。

根据documentation,如果q为空,您将获得所有图像。

要修复,请执行以下操作:

代码语言:javascript
复制
submitSearch.click(function(){
        searchTerm = $('#cms_pixaSearchKeywords').val();
        URL = "https://pixabay.com/api/?key="+API_KEY+"&safesearch=true&q="+encodeURIComponent(searchTerm);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57806671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档