Javascript 单击按钮时,如何显示从特定API随机生成的新报价?

Javascript 单击按钮时,如何显示从特定API随机生成的新报价?,javascript,jquery,html,Javascript,Jquery,Html,问题-我有一个API,在页面加载后显示随机引用。名为“newQuote”的我的按钮(div)不会生成新的报价,相反,它会显示完全相同的报价,使我的按钮变得无用。 所以- 我有一个javascript函数,名为getNewQuote(),在页面加载时运行。此函数从API()中获取一个引号和作者,并使用类quoteTitle和quoteDisplay将其附加到我的div中 function getNewQuote() { $.ajax({ url: 'https://quotesond

问题-我有一个API,在页面加载后显示随机引用。名为“newQuote”的我的按钮(div)不会生成新的报价,相反,它会显示完全相同的报价,使我的按钮变得无用。

所以- 我有一个javascript函数,名为getNewQuote(),在页面加载时运行。此函数从API()中获取一个引号和作者,并使用类quoteTitle和quoteDisplay将其附加到我的div中

function getNewQuote() {
  $.ajax({
    url: 'https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1',
    jsonp: 'jsonp',
    cache: 'false',
    success: function(data) {
      var post = data.shift();
      $("#quoteTitle").empty();
      $("#quoteDisplay").empty();
      $("#quoteTitle").append(post.title);
      $("#quoteDisplay").append(post.content);
    }
  });
}

getNewQuote();
然后,我设置了另一个名为newQuote的div,单击该div将显示一个新的quote

$('#newQuote').on('click', function(e) {
  e.preventDefault();
  getNewQuote();
现在,对我来说,问题似乎是缓存。我认为这是一个缓存问题的原因是,如果我使用Firefox Focus应用程序访问我手机上的站点,该应用程序(相当肯定)不存储任何缓存,该站点将按需要运行,并且每当我单击我的#newQuote时,就会更改我的报价。你可以在“rqg.ronlaniado.me”亲自体验一下,它就在这里

因为我的问题是缓存,所以我确实使用了一些方法和计划来避免这种情况

    cache: 'false',
我在.ajax请求中将cache-ing设置为false

  <script src="qg_js.js?v=42"></script>

我放了“?v-42,根据谷歌的说法,它不应该保存缓存

如果有人可以查看我的代码并帮助我解决我的问题,那就太好了。此外,这是我第一次在这里发布,如果我对所有内容都有点混乱,那么很抱歉。

错误在这里:

cache: 'false';
正确的用法是:

cache: false;
这些引号导致缓存被保留,这意味着引号没有更改。

错误在这里:

cache: 'false';
正确的用法是:

cache: false;

这些引号导致缓存被保留,这意味着引号没有更改。

删除
e.preventDefault()
在URL末尾添加
?v-42
只表示它是版本42。一旦被访问,它将开始缓存。您需要使用不同的版本(如43),或使用当前时间作为版本号,版本号将始终不同:)您的代码实际上正在工作…@ChavaG每次刷新页面时,我都可以获得一个新的报价,但问题是单击“new quote”(新报价)“只返回页面上已经存在的相同报价,而不是新生成的报价。实际上,每次单击此处的“新报价”按钮时,都会显示一个新报价-删除
e.preventDefault()
在URL末尾添加
?v-42
仅表示它是版本42。一旦被访问,它将开始缓存。您可能需要使用不同的版本(如43),或者使用当前时间作为版本号,这将始终是不同的:)您的代码实际上正在工作…@ChavaG每次刷新页面时,我都可以获得一个新的报价,但问题是单击“new quote”只会返回我页面上已存在的相同报价,而不是新生成的报价。实际上,每次单击此处的“new quote”(新报价)按钮时,都会显示一个新报价-