Javascript Api给出相同的结果(纽约时报)

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

这是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 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
函数的原因。不管怎么说,这都是无用的和不必要的。