Javascript:JSON请求仅适用于第一次

时间:2016-05-15 04:33:13

标签: javascript jquery json

我有一个脚本可以将点击事件注册到按钮。 单击按钮时应执行的功能应该向Quotes API发出JSON请求,并为我的Quote元素提供随机引用。

  $("document").ready(function() {
  $("#new-quote").on("click", newQuote());
});

function newQuote() {
  $.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=", function(a) {
    $("#quote-paragraph").html(a[0].content);
    $("#footer").html(a[0].title);
  });
}

这是我的代码应该是这样的,但我已经尝试了不同的解决方案并找到了我的错误。我在函数的末尾添加了一个alert()语句,看看函数是否被执行了。好吧有时候。我尝试了几次,每次尝试都会得到不同的结果。我正在使用codepen.io。谢谢你的帮助!

1 个答案:

答案 0 :(得分:6)

在第二行

$("#new-quote").on("click", newQuote());

您正在执行该函数并将其结果分配给onclick事件,而不是分配函数本身。这就是为什么你的函数执行一次,当你执行赋值时,而不是再次,因为你没有实际分配它。这样做:

$("#new-quote").on("click", newQuote);