Javascript Api给出相同的结果(纽约时报)
这是JavaScript程序Javascript Api给出相同的结果(纽约时报),javascript,html,api,Javascript,Html,Api,这是JavaScript程序 var api = 'https://api.nytimes.com/svc/search/v2/articlesearch.json?q='; var Topic; var apiKey = '&api-key=****'; function setup() { input = document.getElementById('topic').value; } function ArticleAsk(){ var ur
var api = 'https://api.nytimes.com/svc/search/v2/articlesearch.json?q=';
var Topic;
var apiKey = '&api-key=****';
function setup() {
input = document.getElementById('topic').value;
}
function ArticleAsk(){
var url = api + input.value() + apiKey;
loadJSON(url, gotData);
}
function gotData(data){
var articles = data.response.docs;
for(var i = 0;i < articles.length; i++){
createP(articles[i].snippet);
}
}
var-api=https://api.nytimes.com/svc/search/v2/articlesearch.json?q=';
var主题;
变量apiKey='&api key=**';
函数设置(){
输入=document.getElementById('topic')。值;
}
函数ArticleAsk(){
var url=api+input.value()+apiKey;
loadJSON(url,gotData);
}
函数gotData(数据){
var articles=data.response.docs;
对于(var i=0;i
这是HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>8.6_p5.js_api_query_user_input</title>
<script src="libraries/p5.js" type="text/javascript"></script>
<script src="libraries/p5.dom.js" type="text/javascript"></script>
<script src="libraries/p5.sound.js" type="text/javascript"></script>
<script src="myScript2.js" type="text/javascript"></script>
<!--<script src="skect.js" type="text/javascript"></script>!-->
<!-- <script src="myScript.js" type="text/javascript"></script>!-->
<style> body {padding: 0; margin: 0;} canvas {vertical-align: top;} </style>
</head>
<body>
<p>
Topic: <input id ="topic" value="New"></input>
<br/>
<button onclick="ArticleAsk()" id="submit">submit</button>
</p>
</body>
</html>
8.6_p5.js_api_查询_用户输入
正文{填充:0;边距:0;}画布{垂直对齐:顶部;}
主题:
提交
现在的问题是,每次我转到一个新主题时,默认情况下它仍然会给我相同的主题“new”,有时它的“值未定义”,尽管它是预构建的方法。通过编写
input=document.getElementById('topic')。value
,input
已经是元素的值(字符串)。然后调用未定义的input.value()
。试着这样做:
var input = document.getElementById('topic')
function ArticleAsk(){
var url = api + input.value + apiKey;
loadJSON(url, gotData);
}
var url=api+input+apiKey;1/. 您尚未运行
设置
功能。2/. <代码>输入不是全局变量3/。如果出现错误,input
将引用topic
的值,无需再次调用value()
方法…感谢此免费API密钥,BTWB因为您编写了input=document.getElementById('topic').value代码>。请注意结尾处的.value
。谢谢!!!它的工作原理是。。。但是我不明白这个概念不是一个方法,因此需要用()调用它。。。请解释并再次感谢:)解决方案可能是正确的,但解释是非常错误的<在运行setup
函数之前,code>input
是未定义的
。@Alan这就是我从解决方案中删除setup
函数的原因。不管怎么说,这都是无用的和不必要的。